본문 바로가기
개발기록/Oracle & SQLD

SQL 함수, 단일행 함수 CASE, DECODE

by 쎄정 2022. 5. 17.
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
    반응형

    댓글