yeoseon / tip-archive

트러블 슈팅 및 팁을 모아두는 레포 (Today I Learned)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[SQL] DECODE와 CASE 문

yeoseon opened this issue · comments

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 문를 참고한다.

Reference