'case'에 해당되는 글 1건

 

 

▣ Oracle 오라클 Case문과 Decode 사용 법!!

 

안녕하세요 기요밍 입니다.

오라클을 이용해 쿼리를 만들다 보면 특정 값에따라 다른 Action을 취해야 할때가 있습니다.

예를들어 시험 점수가 90점 이상이면 A등급, 80~90점 사이면 B등급을 조회 해야 하는 경우와 같이 말이죠.

이런경우 Case 구문과 Decode 함수를 사용하면 쉽게 해결할 수 있는데요.

각각 어떻게 사용해야 하는지 자세히 알아보겠습니다.

 

 

 * 연관 포스팅

 Oracle/오라클 Decode 함수 사용 법 → [보러가기]

 

 

 

Decode 함수 사용

 

먼저 Decode 함수의 사용법은 위의 포스팅을 확인 하시면 더 자세하게 확인할 수 있습니다.

 

 

  DECODE (Value, CheckValue1, True Return1, CheckValue2, True Return2,....... False Return)

 

 

이렇게 각 Value에 대한 Return값을 각각 지정할 수 있습니다.

 

 

Case 함수 사용

 

 

 CASE WHEN Condition1 THEN Value1

         WHEN Condition2 THEN Value2

         ELSE  Value3 END

  

 

위와 같이 사용 하시면 됩니다 조건 부분 그러니까 COndition으로 되어 있는 부분에 AND 연산자를 이용하여 여러개의 조건을 넣을수도 있습니다. 위에서 예로 들었던 점수를 이용하여 등급을 구하는 쿼리를 예로 들어보면

 

 SELECT

    CASE WHEN SCORE >= 90 THEN 'A등급'

            WHEN SCORE >= 80 AND SCORE < 90 THEN 'B등급'

            ELSE 'C등급' END AS USER_GRADE

 FROM EXAM_TLB 

 

 

이렇게 작성할 수 있습니다!! 자바의 CASE문과 매우 흡사하죠?^^

 

간단하게 1, 2개의 조건으로 해결이 가능하다면 DECODE가 복잡한 로직이 들어간다면 CASE 구문이 더 가독성이 좋습니다. 그떄그때 상황에 맞춰 사용하시면 될 것 같네요!!

블로그 이미지

기요밍b

IT와 게임 블로그 입니다!!^^

,