문제
다음 SQL 실행 결과로 가장 적절한 것은? (Oracle 기준)
SQLSELECT CASE WHEN SUBSTR('ORACLE', 2, 3) = 'RAC' THEN CEIL(7.2) * FLOOR(8.9) ELSE MOD(17, 5) + POWER(2, 3) END AS RESULT FROM DUAL;
① 64 ② 72 ③ 10 ④ 11
정답
1번
해설
SUBSTR('ORACLE', 2, 3)은 'ORACLE' 문자열에서 2번째 위치부터 3개 문자를 추출하여 'RAC'를 반환합니다. 따라서 조건 'RAC' = 'RAC'가 참이므로 THEN 절이 실행됩니다. CEIL(7.2)는 올림하여 8, FLOOR(8.9)는 내림하여 8이 되므로, 8 × 8 = 64가 정답입니다. ② 72는 잘못된 계산 결과이고, ③ 10과 ④ 11은 ELSE 절의 MOD(17, 5) + POWER(2, 3) = 2 + 8 = 10이므로 조건이 거짓일 때의 결과입니다.