오라클 Oracle CASE WHEN THEN


조회해 올 때의 조건은 WHERE 문으로 조건을 걸어 가져올 수 있습니다.

 

하지만 가져온 값에 어떤 조건을 걸어 보여 주거나 또는 값을 변환할 필요가 있을 경우는 CASE...WHEN...THEN 문을 씁니다.

 

CASE WHEN 문에는 두 가지 형태의 사용 방법이 있습니다.


 1. 특정 Column의 값만 비교하고 싶을 때

 

 

SELECT CASE TO_CHAR(SYSDATE, 'YYYY') WHEN '2013' THEN SYSDATE
                                                                        WHEN '2014' THEN SYSDATE + 1
             ELSE NULL END SYS_DATE
FROM DUAL;

 

 

CASE 와 WHEN 사이에 비교하고자 하는 Column 을 넣고
WHEN 과 THEN 사이에 비교하고자 하는 값을 넣어서 비교하는 방법입니다.

 

 2. 내맘대로 조건을 넣고 싶을 때

 

 

SELECT CASE WHEN TO_CHAR(SYSDATE, 'YYYY') = '2013' THEN SYSDATE
                       WHEN TO_CHAR(SYSDATE, 'MM') = '11' THEN SYSDATE + 1
             ELSE NULL END SYS_DATE 
FROM DUAL;

 

 

CASE 와 WHEN 사이는 비우고, WHEN 과 THEN 사이에 내가 필요한 조건문을 WHERE 절에 넣는 것처럼 넣으면 됩니다.

 

2번의 경우에는 하나의 조건 뿐만 아니라 여러 개의 조건을 한꺼번에 넣을 수 있는 장점이 있습니다.

 

 

SELECT CASE WHEN TO_CHAR(SYSDATE, 'YYYY') = '2013'

                           AND TO_CHAR(SYSDATE, 'MM') = '10' THEN SYSDATE
                       WHEN TO_CHAR(SYSDATE, 'YYYY') = '2014'

                           OR TO_CHAR(SYSDATE, 'MM') = '11' THEN SYSDATE + 1
             ELSE NULL END SYS_DATE 
FROM DUAL;

 

  

이상 조회된 값에 조건 걸어 사용하기였습니다.

 

>> 컴퓨터 및 주변기기 전문샵 마이피씨몰  링크

  

 

Posted by 쭈니루
TAG

댓글을 달아 주세요