[Oracle] CASE WHEN THEN


SELECT 로 가져오는 값에 대해서 조건을 걸어 값을 변환할 필요가 있는 경우 사용.


형식은 아래와 같다.


SELECT CASE

WHEN COLUMN1 > 90 THEN 'A'

WHEN COLUMN1 BETWEEN 80 AND 90 THEN 'B'

WHEN COLUMN1 BETWEEN 70 AND 80 THEN 'C'

ELSE 'D'

END SCORE

FROM ALLSCORE;


반드시 마지막에 END를 반드시 넣어줘야 한다.


IF ~ ELSE 와 같다고 생각하면 된다.


그럼 과거에 설명했던 DECODE를 CASE WHEN THEN으로 변경해보자.




SELECT NAME,

CASE SCORE

WHEN THEN 'E'

WHEN 2 THEN 'D'

WHEN 3 THEN 'C'

WHEN 4 THEN 'B'

WHEN 5 THEN 'A'

ELSE 'E'

END

FROM EXAMSCORE;


이렇게 점수별로 등급을 준다면 동일하겠다.




'IT Info > Oracle' 카테고리의 다른 글

[Oracle] Replace 함수 사용법  (0) 2019.12.11
[Oracle] 리스너(Listener)  (0) 2019.12.05
[Oracle] Decode  (0) 2019.12.02
[Oracle] Trigger  (0) 2019.12.02
[Oracle] 데이터 중복 제거 distinct, group by  (0) 2019.11.26

+ Recent posts