문제
다음 중 NULL을 다른 값으로 치환하거나 NULL을 처리하기 위한 함수로 적절하지 않은 것은?
① NVL(COMM, 0) — COMM이 NULL이면 0으로 바꾼다.
② COALESCE(COMM, BONUS, 0) — 앞에서부터 NULL이 아닌 첫 값을 반환한다.
③ NULLIF(A, B) — A와 B가 같으면 NULL을 반환한다.
④ SUBSTR(COMM, 0) — COMM이 NULL이면 0으로 바꾼다.
정답
4번
해설
SUBSTR은 문자열의 일부를 잘라내는 부분 문자열 함수일 뿐 NULL을 다른 값으로 치환하는 기능과 무관하므로 ④가 적절하지 않다. NVL(①)은 첫 인자가 NULL이면 두 번째 값으로 대체하고, COALESCE(②)는 인자들을 앞에서부터 평가해 NULL이 아닌 첫 값을 반환하며, NULLIF(③)는 두 값이 같으면 NULL을 반환하는 NULL 관련 함수다.