Oracle에서 다음 DECODE 식과 항상 같은 결과를 내는 CASE… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 6회
Oracle에서 다음 DECODE 식과 항상 같은 결과를 내는 CASE 식은?DECODE(진료구분, 'O', '외래', '기타')[보기 식]
㉠ CASE 진료구분 WHEN 'O' THEN '외래' ELSE '기타' END ㉡ CASE WHEN 진료구분 = 'O' THEN '기타' ELSE '외래' END ㉢ CASE 진료구분 WHEN 'O' THEN '외래' END ㉣ CASE 진료구분 WHEN '외래' THEN 'O' ELSE '기타' END
1
㉣
2
㉠
3
㉢
4
㉡
해설
DECODE(열, 비교값, 결과, 기본값)은 열이 비교값과 같으면 결과를, 아니면 기본값을 돌려주므로 단순 CASE 에 ELSE '기타' 를 둔 식과 같다.
진료구분이 'O' 이면 '외래', 그 밖의 값이나 NULL 이면 '기타' 가 나온다.
- THEN 과 ELSE 결과를 서로 바꾸면 '외래' 와 '기타' 가 뒤집힌다.
- ELSE 를 빼면 'O' 가 아닌 행은 NULL 이 된다.
- 비교값과 결과를 맞바꾸면 진료구분이 '외래' 인 행만 'O' 가 된다.
오류나 개정된 내용이 보이면 알려주세요