Oracle - CASE 문
- SQL:1999에는 다음과 같은 형태의 CASE 문들이 있습니다.
. 단순 CASE
. 검색 CASE
. NULLIF
. COALESCE
1) 단순 CASE 수식
- 단순 CASE 수식은 DECODE 함수와 유사합니다.
- 주어진 수식 내에서 값을 찾고 대체할 수 있습니다.
- 각각의 값에 대해 반환값을 명시할 수 있습니다.
- 비교 연산자를 사용할 수는 없습니다.
- 예)
SELECT last_name,
(CASE department_id
WHEN 10 THEN 'Administration'
WHEN 20 THEN 'Marketing'
WHEN 30 THEN 'Purchasing'
WHEN 40 THEN 'Human Resources'
…
ELSE 'N/A'
END) as "Department Names"
FROM employees
ORDER by department_id;
2) 검색 CASE 수식
- 검색 CASE 수식은 IF… THEN … ELSE 구문과 유사합니다.
- 수식에 대하여 조건부로 값을 찾고 대체할 수 있습니다.
- 각각의 WHEN 조건은 달리 주어지며 복수의 조건이 논리 연산자에 의해 결합될 수 있습니다.
- 조건 수식에 비교 연산자를 사용할 수 있습니다.
- 검색 CASE 수식은 단순 CASE 수식에 비해 보다 유연합니다.
- 예)
SELECT last_name,
CASE
WHEN job_id LIKE 'AD%' THEN '10%'
WHEN job_id LIKE 'IT%' THEN '15%'
WHEN job_id LIKE 'PU%' THEN '18%'
ELSE '20%'
END
FROM employees;
'(DB) Oracle > SQL' 카테고리의 다른 글
Oracle - 예제_SUBQUERY (0) | 2017.01.18 |
---|---|
Oracle - 예제_FOR_UPDATE_WAIT (0) | 2017.01.18 |
Oracle - 예제_JOIN (0) | 2017.01.18 |
Oracle - 예제_LEAD.LAG (0) | 2017.01.18 |
Oracle - 예제_UPDATE (0) | 2017.01.18 |