-- ■■■ CASE 구문(조건문 , 분기문)■■■
/*
CASE
WHEN
THEN
ELSE
END 구문으로 부른다. 케이스웬덴엘스엔드
*/
SELECT CASE 5+2 WHEN 7 THEN '5+2=7' ELSE '5+2는 몰라요' END "결과 확인"
FROM DUAL;
--==>> 5+2=7
SELECT CASE 5+2 WHEN 9 THEN '5+2=9' ELSE '5+2는몰라요' END "결과확인"
FROM DUAL;
--==>>5+2는몰라요
SELECT CASE 1+1 WHEN 2 THEN '1+1=2'
WHEN 3 THEN '1+1=3'
WHEN 4 THEN '1+1=4'
ELSE '몰라'
END "결과 확인"
FROM DUAL;
--==>> 1+1=2
-- ● DECODE()
SELECT DECODE(5-2,1,'5-2=1',2,'5-2=2',3,'5-2=3','5-2는몰라') "결과 확인"
FROM DUAL;
--==>>5-2=3
-- ● CASE WHEN THEN ELSE END 구문 활용
SELECT CASE WHEN 5<2 THEN '5<2'
WHEN 5>2 THEN '5>2'
ELSE '5와 2는 비교 불가'
END "결과 확인"
FROM DUAL;
--==>>5>2
SELECT CASE 1+1 WHEN 2 THEN '1+1=2'
WHEN 3 THEN '1+1=3'
WHEN 4 THEN '1+1=4'
ELSE '모름'
END "결과확인"
FROM DUAL;
SELECT CASE WHEN 1+1=2 THEN '1+1=2'
WHEN 1+1=3 THEN '1+1=3'
WHEN 1+1=4 THEN '1+1=4'
ELSE '모름'
END "결과확인"
FROM DUAL;
SELECT CASE WHEN 5<2 OR 3>1 AND 2=2 THEN '우와앙'
WHEN 5>2 OR 2=3 THEN '니햐아아'
ELSE '끼횽'
END "결과 확인"
FROM DUAL;
--===>>우와앙
SELECT CASE WHEN 3<1 AND 5<2 OR 3>1 AND 2=2 THEN '스펀지밥'
WHEN 5<2 AND 2=2 THEN '톰'
ELSE '제리'
END "결과확인"
FROM DUAL;
--===>> 스펀지밥
SELECT CASE WHEN 3<1 AND (5<2 OR 3>1) AND 2=2 THEN '스펀지밥'
WHEN 5<2 AND 2=2 THEN '톰'
ELSE '제리'
END "결과확인"
FROM DUAL;
--==>> 제리