NULL 처리입문Oracle 전용
NVL
Oracle 전용. 값이 NULL이면 대체값을 반환
정의
NVL(값, 대체값) 형식. 값이 NULL이면 대체값을, 아니면 원래 값을 그대로 반환한다. 예: NVL(commission, 0)은 commission이 NULL일 때 0으로 바꿔준다. Oracle 전용이라 다른 DB에서는 동작하지 않는다. 인자는 항상 2개만.
왜 중요한가?
틀리기 쉬운 포인트
- !NVL은 두 인자를 모두 평가합니다. COALESCE는 short-circuit입니다.
- !NVL은 Oracle 전용이며 ANSI 표준이 아닙니다.
- !두 인자의 데이터 타입이 다르면 묵시적 변환이 일어나 성능 저하 가능.
예시
-- Oracle 전용 SELECT name, NVL(commission, 0) AS commission FROM employees;