Recent Posts
Recent Comments
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
관리 메뉴

ㅇ.ㅇ

[Oracle] Oracle에서 NULL 값 다루기 본문

Today I Learned

[Oracle] Oracle에서 NULL 값 다루기

yun_ 2025. 3. 9. 17:00
반응형

 

 

데이터베이스를 다루다 보면 NULL 값을 만나게 된다. NULL은 값이 없는 상태를 의미하며, 연산이나 조건문에서 예상치 못한 결과를 초래할 수 있다. Oracle에서는 NULL을 처리할 수 있도록 몇 가지 함수를 제공한다. NVL, NVL2, COALESCE 함수의 사용법과 차이점을 정리해 보자.

 

1. NVL : NULL이면 지정한 값 반환

NVL(값, 대체값)

(1) 값이 NULL이면 대체값을 반환
(2) 값이 NULL이 아니면 원래 값 반환

--------------------------------------
(1) 예제
SELECT NVL(NULL, 'DEFAULT') AS result FROM dual;

// 결과
RESULT
--------
DEFAULT
--------------------------------------
(2) 예제
SELECT NVL('Oracle', 'DEFAULT') AS result FROM dual;

// 결과
RESULT
--------
Oracle

 

 

 

2. NVL2 : NULL 여부에 따라 다른 값 반환

NVL2(값, NULL이 아닐 때 값, NULL일 때 값)

(1) 값이 NULL이 아니면 두 번째 인자 반환
(2) 값이 NULL이면 세 번째 인자 반환

--------------------------------------
(1) 예제
SELECT NVL2(NULL, 'NOT NULL', 'NULL') AS result FROM dual;

// 결과
RESULT
--------
NULL
--------------------------------------
(2) 예제
SELECT NVL2('Oracle', 'NOT NULL', 'NULL') AS result FROM dual;

// 결과
RESULT
--------
NOT NULL

 

3. COALESCE : 여러 값 중 첫 번째 NULL이 아닌 값 반환

COALESCE(값1, 값2, 값3, ...)

(1) NULL이 아닌 첫 번째 값을 반환
(2) 모든 값이 NULL이면 NULL 반환

--------------------------------------
(1) 예제
SELECT COALESCE(NULL, NULL, 'Oracle', 'SQL') AS result FROM dual;

// 결과
RESULT
--------
Oracle
--------------------------------------
(2) 예제
SELECT COALESCE(NULL, NULL, NULL) AS result FROM dual;

// 결과
RESULT
--------
NULL

 

 

이 함수들을 적절히 활용하면 데이터 무결성을 유지하면서도 안정적인 쿼리를 작성할 수 있다! 필요에 따라 적절한 함수를 선택해 활용하도록 하자..

 

반응형

'Today I Learned' 카테고리의 다른 글

[Java] try-with-resources (자원 관리 최적화)  (1) 2025.03.11
[DEV] SBOM에 대하여  (0) 2025.03.09
[DEV] SSO  (0) 2025.03.02
[Linux] Linux에서 사용되는 대표적인 방화벽 종류  (0) 2025.02.27
[DEV] 로그와 메트릭  (0) 2025.02.23