개인참고자료/오라클(데이터베이스)

단일 행 함수 - 기타 함수(CASE)

경진 2008. 7. 20. 12:53
CASE

       CASE value
         WHEN expr1 THEN
              구문1
         WHEN expr2 THEN
              구문2
         ELSE
              구문3
        END CASE

예제1

SELECT job_id,
       CASE job_id
         WHEN 'SA_MAN' THEN
              'Sales Dept'
         WHEN 'SA_REP' THEN
              'Sales Dept'
         ELSE
              'Another'
        END CASE
  FROM jobs
 WHERE job_id LIKE 'S%';

위 CASE 구문에서 CASE job_id ~ END CASE에 이르는 구문을 하나의 칼럼으로 생각한다.
두 번째 칼럼의 값은 job_id 칼럼의 값이 'SA_MAN'이나 'SA_REP'인 경우 'Sales Dept(판매 부서)'라는 이름으로 표현되며, 그 외는 'Another'로 표기된다.

※ CASE는 DECODE() 함수에서 사용할 수 없는 범위 표현이 가능하다.