ㅇ.ㅇ
[Oracle] Oracle에서 NULL 값 다루기 본문
반응형

데이터베이스를 다루다 보면 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 |