이번 글에서는 오라클 표현식 CASE ~ WHEN ~ THEN 구문에 대하여 알아보도록 하겠습니다.
실제 실무에서도 자주 쓰이는 구문이니까 잘 알아두시면 아주 편리하겠습니다.
CASE ~ WHEN ~ THEN 구문
- 여러가지 경우에 대해서 하나를 선택하는 함수입니다.
- DECODE 함수와 차이점이 있다면 DECODE 함수는 조건이 일치하는 경우에 대해서만 적용되는 반면,
CASE 문은 다양한 비교 연산자를 이용하여 조건을 제시할 수 있으므로 범위를 지정할 수 있습니다.
- 프로그래밍 언어의 if ~ else 구문과 유사한 구조를 가지고 있습니다.
CASE ~ WHEN ~THEN 문법
아래 문법으로만 봤을 때는 살짝 복잡해 보일수도 있습니다.
CASE 표현식 WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
WHEN 조건3 THEN 결과3
ELSE 결과n
END
예제를 통하여 CASE ~ WHEN ~ THEN 문 사용 방법에 대하여 알아 보도록 하겠습니다.
아래 예제는 부서번호에 해당하는 부서명을 조회하는 쿼리입니다.
부서번호가 10이면 'ACCOUNTING',
20이면 'RESEARCH'
30이면 'SALES'
40이면 'OPERATIONS' 으로 바꾸어 조회하는 쿼리입니다.
CASE ~ WHEN ~ THEN 문을 사용하시고 마지막에는 END로 꼭 닫아주셔야 합니다.
'2. Database > 2_1 Oracle' 카테고리의 다른 글
[Oracle] MAX(), MIN() - 최댓값과 최솟값을 구하는 방법 (0) | 2020.07.16 |
---|---|
[Oracle] COUNT() - 행의 개수를 구하는 방법 (0) | 2020.07.15 |
[Oracle] TRIM(), LTRIM(), RTRIM() - 공백 제거하는 방법 (1) | 2020.07.08 |
[Oracle] MOD() - 나머지를 구하는 방법 (0) | 2020.07.06 |
[Oracle] POWER() - 거듭제곱 구하는 방법 (1) | 2020.07.04 |