[Oracle] NULL치환 함수

Devlog·2024년 2월 14일

SQL

목록 보기
2/2

✔️ NVL

- 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
[형식] 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
[형식] NULLIF(exp1, exp2)
: exp1값과 exp2값이 동일하면 NULL 그렇지 않으면 exp1을 반환

✔️ COALESCE

- 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

0개의 댓글