22. CASE 구문(조건문, 분기문)

CASE 구문(조건문, 분기문)

CASE

WHEN

THEN

ELSE

END

SELECT CASE 5+2 WHEN 4 THEN '5+2=4' ELSE '5+2는 몰라요' END
  FROM DUAL;
--==>> 5+2는 몰라요

SELECT CASE 5+2 WHEN 7 THEN '5+2=7' ELSE '5+2=6' END
  FROM DUAL;
--==>> 5+2=7

SELECT CASE 1+1 WHEN 2 THEN '1+1=2'
                WHEN 3 THEN '1+1=3'
                WHEN 4 THEN '1+1=4'
                ELSE '난 산수 싫어'
        END "RESULT"
  FROM DUAL;
--==>> 1+1=2

SELECT CASE 1+1 WHEN 2 THEN '1+1=2'
                WHEN 3 THEN '1+1=3'
                WHEN 2 THEN '1+1=4' -- 앞에서 맞는 결과 있으면 뒤에 확인 안함
                ELSE '난 산수 싫어'
        END "RESULT"
  FROM DUAL;
--==>> 1+1=2        

SELECT CASE WHEN 5+2=4 THEN '5+2=4'
            WHEN 6-3=2 THEN '6-3=2'
            WHEN 7*1=8 THEN '7*1=8'
            WHEN 6/2=3 THEN '6/2=3'
            ELSE '모르겠네'
        END "RESULT"
  FROM DUAL;        -- 상황이 다른 경우 TRUE를 반환하면된다.
--==>> 6/2=3

 

DECODE()

SELECT DECODE(5-2, 1, '5-2=1', 2, '5-2=2', 3, '5-2=3', '5-2는 몰라요') "RESULT" 
-- DECODE 함수의 파라미터 제한이 없다
  FROM DUAL;
--==>> 5-2=3

 

 

 

 

 

 

 

 

 


https://www.instagram.com/p/CY-jVQVpwyY/?utm_source=ig_web_copy_link

부족하거나 잘못된 내용이 있을 경우 댓글 달아주시면 감사하겠습니다.

이 글에 부족한 부분이 존재할 경우 추후에 수정될 수 있습니다.


https://www.notion.so/CASE-1-be7b73b5a49949b99255df955a82c7b6

https://www.notion.so/CASE-2-13556717716c4887a291472f5b99effa

 

 

'SQL > Oracle' 카테고리의 다른 글

24. RANK()  (0) 2022.03.12
23. VIEW  (0) 2022.03.12
21. 변환 함수  (0) 2022.03.12
20. 날짜 연산 함수  (0) 2022.03.12
19. 숫자 처리 함수  (0) 2022.03.12