Database/Oracle

Oracle Datebase - 함수_단일행 함수_조건 함수

seandoesdev 2023. 7. 31. 23:01

조건함수

조건에 따라 SQL문장을 처리하는 함수이다.

DECODE( 컬럼, 비교값1, 결과값1, 비교값2, 결과값2, ... 비교값n, 결과값n, 기본결과값 ) 

조건이 반드시 일치하는 경우에 사용하는 함수

SELECT last_name,salary,
 DECODE(salary,24000, salary*0.3,
 17000, salary*0.2,
 salary) 보너스
FROM employees
ORDER BY 2 desc;

 

CASE 컬럼 WHEN 비교값1 THEN 결과값1 WHEN 비교값2 THEN 결과값2 ELSE 결과값n END

조건이 반드시 일치하지 않아도 범위 및 비교가 가능한 경우에 사용하는 함수

SELECT last_name,salary,
 CASE salary WHEN 24000 THEN salary*0.3
 WHEN 17000 THEN salary*0.2
 ELSE salary 
 END 보너스 FROM employees
ORDER BY 2 desc;