문제
다음 SQL 실행 결과는? (Oracle)
SQLSELECT CASE WHEN LENGTH('Database') > 6 THEN UPPER(SUBSTR('Database', 1, 4)) ELSE LOWER(SUBSTR('Database', 5, 4)) END AS RESULT FROM DUAL;
① DATA ② base ③ Data ④ BASE
정답
1번
해설
LENGTH('Database') = 8이므로 8 > 6 조건이 참입니다. 따라서 UPPER(SUBSTR('Database', 1, 4))가 실행되어 'Database'의 첫 4글자 'Data'를 대문자로 변환한 'DATA'가 결과입니다. ② ELSE 절의 LOWER(SUBSTR('Database', 5, 4))는 실행되지 않음, ③ 대문자 변환 전 상태, ④ 잘못된 부분 추출 결과입니다.