문제
다음 두 SQL의 결과가 동일한 것은?
SQLSELECT CASE WHEN PRICE IS NULL THEN 0 ELSE PRICE END FROM PRODUCT;
① ISNULL(PRICE, 0) ② NVL2(PRICE, 0, PRICE) ③ COALESCE(PRICE, 0) ④ NULLIF(PRICE, 0)
정답
3번
해설
CASE문은 PRICE가 NULL이면 0을, 아니면 PRICE를 반환합니다. COALESCE(PRICE, 0)는 첫 번째 NULL이 아닌 값을 반환하므로 동일한 결과입니다. ①은 SQL Server 함수이고, ②는 NULL이 아닐 때 0을 반환하므로 다르며, ④는 값이 같을 때 NULL을 반환하는 함수입니다.