개발기록/Oracle & SQLD
SQL 함수, 단일행 함수 CASE, DECODE
쎄정
2022. 5. 17. 16:08
728x90
반응형
목차
CASE
CASE WHEN ELSE END
조건이 맞으면 THEN절을 수행하고 아니라면 ELSE문을 수행한다.
WHEN, ELSE, END절에 서브쿼리를 넣어 사용할 수 있다.
CASE WHEN 조건
THEN 값 OR SQL
ELSE 값 OR SQL
END
CASE 예시
SELECT CASE WHEN SAL_CD = '100001' THEN '기본급'
WHEN SAL_CD = '100002' THEN '상여금'
WHEN SAL_CD = '100003' THEN '특별상여금'
WHEN SAL_CD = '100004' THEN '야근수당'
WHEN SAL_CD = '100005' THEN '주말수당'
WHEN SAL_CD = '100006' THEN '점심식대'
WHEN SAL_CD = '100007' THEN '복지포인트'
ELSE '유효하지 않음'
END SAL_NM
FROM TB_SAL
DECODE
DECODE(표현식, 비교값1, 결과값1, 비교값2, 결과값2 ...)
표현식이 비교값1과 같으면 결과값1, 표현식이 비교값2과 같으면 결과값2
표현식과 비교값을 비교하여 결과 값을 리턴한다.
DECODE 예시
SELECT DECODE(SAL_CD, '1400001', '기본급', '100002', '상여금', '기타') AS SAL_NM FROM TB_SAL;
728x90
반응형