자격증/SQLD
[SQL/Oracle] NULL 치환 함수
_silver
2025. 11. 12. 00:35
1. NVL | ISNULL(컬럼, 치환할 값)
- null 값을 다른 값으로 치환
🗒️ NVL의 절대 규칙: NVL(인수, 인수) → 두 인수의 데이터 타입을 일치 시켜야 한다.
예제) NVL(COMM, 100) | ISNULL(COMM, 200)
| COMM | NVL 적용 | ISNULL 적용 |
| NULL | → 100 | → 200 |
| 500 | → 500 | → 500 |
→ NULL이면 100 | 200으로 치환
→ NULL이 아니면 본인값 Return
2. COALESCE(컬럼, 인수1, 인수2, 인수3, ...)
- NVL 함수의 기능이 여러개 적용 되어 있는 함수
- 인자의 개수는 2개 이상으로 동적으로 입력한다.
예제 1) COALESCE(COMM, 100)
| COMM | COALESCE 적용 |
| NULL | → 100 |
| 500 | → 500 |
NULL이 아닌 가장 앞에 있는 값을 리턴 한다.
3. NULLIF(컬럼, 비교값)
- 각 행의 값과 비교값이 같으면 : NULL
- 각 행의 값과 비교값이 같지 않으면 : 본인값
예제 1) NULLIF(COMM, 500)
| 행번호 | COMM | NULLIF 적용 |
| 1 | NULL | → NULL |
| 2 | 500 | → NULL |
| 3 | 600 | → 600 |
→ 1번 행의 값(NULL)과 비교값(500)이 같지 않아 본인값(NULL) Return
→ 2번 행의 값(500)과 비교값(500)이 같아 NULL Return
→ 3번 행의 값(600)과 비교값(500)이 같지 않아 본인값(600) Return