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
Posted by 농부지기
,