표현식 1의 결과값이 NULL이면 표현식2의 값을 출력 한다.
단, 표현식1과 표현식2의 결과 데이터 타입이 같아야 한다. NULL관련해서 가장 많이 쓰이는 함수.
-- 오라클: NVL (NULL 판단 대상, 'NULL일 때 대체값')
SELECT NVL(NULL, 'NVL-OK') NVL_TEST
FROM DUAL ;
--결과값 : NVL-OK
SELECT NVL('NOT-NULL', 'NVL-OK') NVL_TEST
FROM DUAL ;
--결과값 : NOT-NULL (NULL이 아니니까 표현식 2가 아닌 1을 표기한 것임)
표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴한다.
특정 값을 NULL로 변경해야 할 때 유용하게 사용할 수 있다.
-- NULLIF (표현식1, 표현식2) : 표현식1 과 2과 같으면 NULL, 다르면 표현식 1 리턴
-- MGR 7698 이면 NULL로 표시한다.
SELECT ENAME, EMPNO, MGR, NULLIF(MGR, 7698) NUIF
FORM EMP ;
임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다.
모든 표현식이 NULL이라면 NULL을 리턴한다.