자격증/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