티스토리 뷰

구문(Syntax)


CASE  [ expression ]

   WHEN condition_1 THEN result_1

   WHEN condition_2 THEN result_2

   ...

   WHEN condition_n THEN result_n

   ELSE result

END


- DECODE와 사용하는 이유는 비슷하나 구문에서 약간의 차이가 있음.

Condition 확인하고 Condition 내용이 ture 경우 Then 이하를 Return하게 된다false 경우 밑의 condition 확인한다. Condition 발견하지 못할 경우 NULL 반환한다.
WHEN  THEN 짝지어서 사용해야한다.

예제(Example)

hr.employees 테이블에서 급여(salary) 수준에 따라서 'A', 'B', 'C' 등급으로 출력하는 쿼리 작성. CASE~END 구문 사용.
급여가 20000 이상인 경우 'A'
급여가 10000 이상인 경우 'B'
급여가 10000 미만인 경우 'C'

SELECT employee_id, first_name, last_name, salary,
    CASE
        WHEN TRUNC(salary/10000) = 2 THEN 'A'
        WHEN TRUNC(salary/10000) = 1 THEN 'B'
        WHEN TRUNC(salary/10000) = 0 THEN 'C'
    END "GRADE"
    FROM hr.employees;

실행 결과



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함