DECODE
- DECODE 문으로 IF 문을 구현할 수 있다.
즉, 특정 조건이 참이면 A, 거짓이면 B로 응답한다.
DECODE (EMPNO, 1000, 'TRUE', 'FALSE')
비교문으로 EMPNO가 1000이면 TRUE를 응답하고 같지 않으면 FALSE를 응답한다.
- 위의 예는 EMPNO를 1000과 비교해서 같으면 'TRUE'를 출력하고 다르면 'FALSE'를 출력한다.
DECODE 문 사용
ex)
SELECT
DECODE(EMPNO, 1000, 'TRUE', 'FALSE')
FROM EMP;
CASE 문
- CASE 문은 IF ~ THEN ~ END 의 프로그래밍 언어처럼 조건문을 사용할 수 있다.
- 조건을 WHEN 구에 사용한다.
해당 조건이 참이면 THEN 이 실행되고 거짓이면 ELSE 구가 실행된다.
CASE [expression]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
WHEN condition_n THEN result_n
ELSE result
END
CASE 문 사용
SELECT
CASE
WHEN EMPNO = 1000 THEN 'A'
WHEN EMPNO = 1001 THEN 'B'
ELSE 'C'
END
FROM EMP;
- 위의 예는 EMPNO 가 1000 이면 'A'를 출력하고 1001이면 'B'를 출력한다.
만약 그렇지 않으면 'C'를 출력한다.