데이터베이스/SQL

[SQL/오라클] DECODE 함수와 CASE WHEN 문

뚜벅-뚜벅 2022. 7. 14. 17:40

DECODE:

if else 문과 같은 기능을 수행하는 함수

 ex) DECODE( 컬럼명, '조건1', '결과1', '조건2', '결과2',

.... , 해당조건 없을 때 결과[ELSE - 생략가능]) 

# decode 함수 예시
SELECT emp_cd, 
	DECODE(edmp_cd, 'A', '사원'
    			,'B', '선임'
                	,'C', '책임' 
                    	,NULL) as emp_job
FROM emp_table;

 

CASE WHEN

- CASE WHEN 조건 THEN 결과 ELSE 결과 END

- 꼭 END 문으로 종료되어야하며, 조건 사이에 컴마(,) 는 들어가지 않음

- 결과에  NULL 이 들어갈 수 없음

 

# CASE WHEN 문 예시
SELECT emp_cd
	, CASE
        	WHEN emp_cd = 'A' THEN '사원'
        	WHEN emp_cd = 'B' THEN '선임'
            	WHEN emp_cd = 'C' THEN '책임'
          	ELSE '기타'
         END emp_nm
FROM emp_table
;