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.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 |