Meteora_ 2021. 2. 15. 13:13
728x90

CASE는 자바(JAVA)의 SWITCH문과 비슷하다.

DECODE()는 CASE에서 WHEN THEN END 를 생략한것과 비슷하다.

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
-- CASE == 
SELECT employee_id, first_name, phone_number,
    CASE SUBSTR(phone_number, 13)
        WHEN '515' THEN '서울'
        WHEN '590' THEN '부산'
        WHEN '650' THEN '광주'
        ELSE '기타'
    END as 지역       
FROM employees;
 
SELECT employee_id, first_name, phone_number,
    CASE
        WHEN SUBSTR(phone_number, 13= '515' THEN '서울'
        WHEN SUBSTR(phone_number, 13= '590' THEN '부산'
        WHEN SUBSTR(phone_number, 13= '650' THEN '광주'
        ELSE '기타'
    END AS 지역
FROM employees;
 
-- DECODE
SELECT employee_id, first_name, phone_number,
    DECODE( SUBSTR(phone_number, 13), 
            '515''서울'
            '590''부산'
            '650''광주'
            '기타') AS 지역
FROM employees;
cs