- NVL
[형식] NVL(expr1,expr2)
: expr1값이 NULL인 경우 expr2값으로 변경되어 출력
SELECT empno
, NVL(mgr, 0) mgr --mgr이 NULL이면 0으로 출력
FROM emp
WHERE deptno = 10;
💻출력
EMPNO MGR
------- -------
7782 7839
7839 0
7934 7782
- NVL2
[형식] NVL2(expr, expr1, expr2)
: expr의 값이 NULL이 아닐 경우에는 expr1의 값을 반환, NULL일 경우에는 expr2의 값을 반환
SELECT empno
, NVL2(mgr, 1, 0) mgr --mgr의 값이 NULL이 아니면 1반환 NULL이면 0반환
FROM emp
WHERE deptno = 10;
💻출력
EMPNO MGR
------- ----------
7782 1
7839 0
7934 1
- NULLIF
[형식] NULLIF(exp1, exp2)
: exp1값과 exp2값이 동일하면 NULL 그렇지 않으면 exp1을 반환
- COALESCE
[형식] COALESCE(expr1,expr2,expr3,...)
: exp1값과 exp2값이 동일하면 NULL 그렇지 않으면 exp1을 반환
: 나열된 값을 순차적으로 체크하여 NULL이 아닌 값이 나오는 인수를 반환
: NVL과 비슷함
COALESCE('A', 'B', NULL) → 'A'
COALESCE(NULL, 'B', 'C', 'D') → 'B'
COALESCE(NULL, NULL, NULL, NULL, 'E') → 'E'
COALESCE(NULL, NULL, NULL, NULL) → NULL