-- 매니저가 없는 값을 0으로 바꾸어서 출력하는 예제.
SELECT empno, NVL(mgr, 0) mgr
FROM emp
WHERE deptno = 10;
EMPNO MGR
------- -------
7782 7839
7839 0
7934 7782
-- 매니저가 있는경우 1을 없는경우 0을 출력하는 예제이다.
SELECT empno, NVL2(mgr, 1, 0) mgr
FROM emp
WHERE deptno = 10;
EMPNO MGR
------- ----------
7782 1
7839 0
7934 1
-- 아래 문장을 실행해 보자.
SELECT COALESCE(comm,1), comm
FROM emp;
COALESCE(COMM,1) COMM
---------------- ----------
1
300 300
500 500
1
1400 1400
1
1
1
0 0
1
1
NVL이나 NULLIF 함수는 많이 사용했다. 하지만, NVL2나 COALESCE는 사용 해본 적이 없는데, 앞으로도 딱히 사용할 경우는 많이 있을 것 같지 않다.