문제
다음 두 SQL의 결과가 동일한 것은?
SQLSELECT CASE WHEN STATUS='A' THEN NULL ELSE STATUS END FROM MEMBER;
① NVL(STATUS, 'A') ② NVL2(STATUS, NULL, 'A') ③ NULLIF(STATUS, 'A') ④ COALESCE(STATUS, 'A')
정답
3번
해설
NULLIF(A, B) 함수는 A와 B가 같으면 NULL을 반환하고, 다르면 A를 반환합니다. 이는 CASE WHEN STATUS='A' THEN NULL ELSE STATUS END와 정확히 동일한 로직입니다. ①은 NULL을 'A'로 치환, ②는 STATUS가 NULL이 아니면 NULL 반환, ④는 NULL을 'A'로 치환하는 기능입니다.