문제
다음 SQL의 결과는?
SQLWITH T AS (SELECT NULL AS COL1, 'B' AS COL2 FROM DUAL) SELECT COALESCE(COL1, COL2, 'C') AS RESULT FROM T;
① NULL ② B ③ C ④ BC
정답
2번
해설
COALESCE 함수는 왼쪽부터 순서대로 검사하여 첫 번째 NULL이 아닌 값을 반환합니다. COL1은 NULL이므로 건너뛰고, COL2의 'B'가 첫 번째 NULL이 아닌 값이므로 'B'를 반환합니다. ① COL1이 NULL이지만 다음 인수들을 검사합니다. ③ COL2에서 이미 NULL이 아닌 값을 찾았으므로 세 번째 인수까지 가지 않습니다. ④ 문자열 연결이 아닌 첫 번째 유효값만 반환합니다.