Where The Streets Have No Name

CASE WHEN 본문

Developement/DataBase

CASE WHEN

highheat 2006. 4. 7. 15:53

     CASE문은 어플리케이션(C, JAVA등)에서 IF문의 중첩사용을 피하거나 분기할 때 사용하는 조건 제어문인데요.. 여기서도 같은 원리로 사용됩니다.

    square01_red.gif 먼저 실습용 테이블 하나 만드시고..

    SQL> CREATE TABLE case_test ( a number, b varchar2(10));

    square01_red.gif 테스트 데이터를 몇 개 Insert합니다.

    SQL> INSERT INTO case_test values(5,'aaa');
    INSERT INTO case_test values(10,'bbb');
    INSERT INTO case_test values(15,'ccc')
    INSERT INTO case_test values(20,'ddd')

    square01_red.gif 다음과 같이 각 조건을 설정하여 분기 합니다.

    SQL> SELECT a,
             case
             when a > 0 and a <= 5 then 'A'
             when a >= 6 and a <= 10 then 'B'
             when a >= 11 and a <= 15 then 'C'
             when a >= 20 then 'D'
             end,b
          FROM case_test;

             A    C      B
    -----   --- - -------
           5     A    aaa
          10    B    bbb
          15    C    ccc
          20    D    ddd