본문으로 바로가기

[Oracle] CASE WHEN THEN 문

category 2. Database/2_1 Oracle 2020. 7. 14. 20:50

   

 

이번 글에서는 오라클 표현식 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로 꼭 닫아주셔야 합니다.