[SQL] DECODE와 CASE 문
yeoseon opened this issue · comments
Yun Yeoseon (Row) commented
DECODE문과 CASE문
DECODE와 CASE 함수는 SQL 문장에서 조건에 해당하는 값을 추출하고자 할 때 사용한다.
DECODE
- DECODE 함수는 조건에 따라 데이터를 다른 값이나 컬럼 값으로 추출한다.
- 아래와 같은 형태로 사용한다.
DECODE(VALUE, IF1, THEN1, IF2, THEN2 ...)
- VALUE 값이 IF1일 경우에 THEN1 값을 반환한다.
- DECODE 함수 안에 DECODE 함수를 중첩으로 사용할 수 있다.
예제
SELECT deptno, DECODE(deptno, 10 , 'ACCOUNTING' ,
20 , 'RESEARCH' ,
30 , 'SALES', 'OPERATIONS') name
CASE
- CASE 함수는 DECODE 함수가 제공하지 못하는 비교연산의 단점을 해결할 수 있다.
- DECODE 함수에서는 비교연산을 수행하기 위해
GREATEST
,LEAST
등의 함수를 사용해야 하지만, CASE 함수에서는 조건 연산자를 모두 사용할 수 있다.
자세한 예시와 내용은 CASE..WHEN...THEN 문를 참고한다.