DB 공부

null 값 처리 함수들 특징

gyk7 2024. 8. 27. 17:08

Oracle

1. NVL(A, B)

입력 값 A가 NULL일 경우 B로 대체하여 반환한다. 

입력 값 A가 NULL이 아닐 경우에는 A 반환

 

2. NVL2(A, B, C)

입력값 A가 NULL이 아니면 B, NULL이면 C로 변환하여 반환한다.

 

 

3. COALESCE(A, B, C, ...)

A가 NULL이면 B, B도 NULL이면 C와 같이 변환하여 반환한다. ( NULL이 아닌 첫 번째 인자의 값을 반환한다는 뜻. 모든 인자가 NULL이면 NULL 반환)

COALESCE 함수는 NVL 함수보다 확장된 개념으로 여러 개의 컬럼의 NULL 값 여부를 판별하면서 값을 변환할 때 사용함.

 

4. NULLIF(A, B)

입력값 A가 B와 같으면 NULL로 변환하여 반환한다. 

같지 않으면 A 반환

 

 

5. LNNVL(조건식)

- LNNVL 함수는 WHERE 절에 사용된다.

- 조건문 내에 존재하는 컬럼의 값이 NULL이면 TRUE 반환.

- 조건문에 해당하는 값이 FALSE 또는 UNKNOWN이면 TRUE 반환.

- 조건문이 TRUE이면 FALSE 반환.

 

 


MYSQL

1. ISNULL(A, B)

A가 NULL일 경우 B 반환.

ORACLE의 NVL( ) 함수와 같은 기능.

 

2. COALESCE(A, B, C, ...)

목록에서 NULL이 아닌 값을 반환하는 기능.

 

3. CASE 문 활용

CASE 함수는 CASE 조건을 통과하고 첫 번째 조건이 충족될 때 값을 반환함.

따라서 조건이 TRUE이면 읽기를 중지하고 결과를 반환함.

조건이 FALSE이면 ELSE 값을 반환함.