본문 바로가기

dev/DB

DECODE, CASE WHEN

DECODE, CASE WHEN 둘 다 조건에 해당하는 값을 얻고자 할 때 사용(switch case 문 같은 기능)


DECODE

DECODE(expr, cond1, val1, cond2, val2 ..., default_val)

SELECT DEPTNO, 

DECODE(DEPTNO, 10, 'ACCOUNTING',

  20, 'RESEARCH',

  30, 'SALES',

   'NO_DEPT') DEPTNAME

FROM DEPT;


CASE ~ WHEN ~ END

CASE expr 

WHEN cond1 THEN val1

WHEN cond2 THEN val2

ELSE default_val

END

SELECT DEPTNO,

CASE DEPTNO

WHEN 10 THEN 'ACCOUNTING'

WHEN 20 THEN 'RESEARCH'

WHEN 30 THEN 'SALES'

ELSE 'NO_DEPT'

END as DEPTNAME

FROM DEPT;


'dev > DB' 카테고리의 다른 글

Row chaining, Row migration  (0) 2019.03.15
SQL 실행 순서 정리  (0) 2019.03.13
DB 함수 모음  (0) 2019.03.11
엔터티, 속성, 식별자의 분류  (0) 2019.03.11
SQL 최적화(옵티마이저, 인덱스)  (0) 2019.03.10