문제
다음 SQL의 결과는? (Oracle)
SQLSELECT COALESCE(NULL, '', NULL, 'FINAL') AS COL1, COALESCE(NULL, NULL, 0, 5) AS COL2 FROM DUAL;
① FINAL, 0 ② '', 0 ③ NULL, 0 ④ FINAL, 5
정답
1번
해설
COALESCE는 첫 번째로 NULL이 아닌 값을 반환합니다. Oracle에서 빈 문자열('')은 NULL로 처리되므로, COALESCE(NULL, '', NULL, 'FINAL')에서 첫 번째 NULL이 아닌 값은 'FINAL'입니다. 두 번째 COALESCE(NULL, NULL, 0, 5)에서는 0이 첫 번째 NULL이 아닌 값이므로 0을 반환합니다. 따라서 결과는 'FINAL, 0'입니다.