문제
다음 중 결과가 다른 것은?
<조건> 값과 옵션이 서로 다를 수 있으며, NULL 처리 함수의 결과를 비교한다.
① NVL(값, 옵션) ② COALESCE(값, 옵션) ③ NULLIF(값, 옵션) ④ CASE WHEN 값 IS NOT NULL THEN 값 ELSE 옵션 END
정답
3번
해설
정답: 3. NVL, COALESCE, CASE 표현식은 값이 NULL이면 옵션을 반환하고 아니면 값을 반환하는 형태로 유사하지만, NULLIF는 두 값이 같으면 NULL을 반환한다.
오답 풀이
- 1번: 값이 NULL이면 옵션을 반환한다.
- 2번: 인자 중 첫 번째 NULL이 아닌 값을 반환한다.
- 3번: 값과 옵션이 같으면 NULL을 반환하므로 다른 함수들과 성격이 다르다.
- 4번: NVL과 유사한 NULL 대체 로직이다.
보충 개념 NVL(expr1, expr2)는 expr1이 NULL이면 expr2를 반환한다. NULLIF(expr1, expr2)는 두 값이 같으면 NULL, 다르면 expr1을 반환한다.