1. Syntax
DECODE(expr, search, result [, search, result ]... [, default ])
2. Purpose
DECODE 는 expr값과 search 값을 차례로 비교한다.
expr값과 search 값이 같으면 대응하는 result값을 반환한다.
일치하는 항목이 없으면 default 값을 반환한다.
default 값이 생략되면 NULL을 반환한다.
Argument는 숫자 또는 문자 유형 중 하나가 될 수 있습니다.
component(expr, searches, results, default 포함해서)의 최대 255까지 지원한다.
DECODE문 안에 DECODE문을 사용할수 있다.
3. Examples
가. 기본 샘플
- 쿼리
WITH TTABLE AS(
SELECT 'KIM' AS NM, 10 AS NUM FROM DUAL UNION ALL
SELECT 'LEE' AS NM, 15 AS NUM FROM DUAL UNION ALL
SELECT 'PARK' AS NM, 40 AS NUM FROM DUAL UNION ALL
SELECT 'JO' AS NM, 34 AS NUM FROM DUAL UNION ALL
SELECT 'NO' AS NM, 50 AS NUM FROM DUAL
)
SELECT NM, NUM, DECODE(NUM, 50, 'A',
40, 'B',
30, 'C',
20, 'D',
10, 'E', 'F') AS RESULT FROM TTABLE;
- 결과
NM
NUM
RESULT
KIM
10
E
LEE
15
F
PARK
40
B
JO
34
F
NO
50
A