문제
다음 SQL과 동일한 결과를 반환하는 것은?
SQLSELECT CASE WHEN NAME IS NULL THEN '미지정' ELSE NAME END FROM MEMBER;
① NVL(NAME, '미지정') ② NVL2(NAME, '미지정', NULL) ③ NULLIF(NAME, '미지정') ④ LENGTH(NAME)
정답
1번
해설
CASE WHEN NAME IS NULL THEN '미지정' ELSE NAME END는 NAME이 NULL이면 '미지정'을, 아니면 NAME을 반환합니다. 이는 NVL(NAME, '미지정')과 동일한 로직입니다. ②는 NAME이 NULL이 아니면 '미지정'을 반환하므로 반대 로직이고, ③은 NAME이 '미지정'과 같으면 NULL을 반환하는 다른 함수입니다.