오라클(Oracle) 데이터베이스의 NVL2 함수는 SQL에서 제공하는 강력한 NULL 처리 함수로, 특정 표현식이 NULL인지 여부에 따라 다른 값을 반환하는 기능을 제공합니다. 이를 활용하면 데이터 정리 및 보고서 생성 시 보다 간결한 SQL 문을 작성할 수 있습니다.
NVL2 함수의 구문
NVL2(expression, value_if_not_null, value_if_null)
- expression: 검사할 표현식. 값이 NULL인지 아닌지에 따라 반환값이 결정됩니다.
- value_if_not_null: expression이 NULL이 아닐 경우 반환할 값.
- value_if_null: expression이 NULL일 경우 반환할 값.
NVL2 함수의 동작 방식
- expression이 NULL이 아닐 경우 value_if_not_null을 반환합니다.
- expression이 NULL일 경우 value_if_null을 반환합니다.
NVL2 함수 예제
기본 사용 예제
SELECT NVL2('Oracle', 'Not Null', 'Null') AS result FROM dual;
결과:
result
-------
Not Null
NULL 값을 가진 경우
SELECT NVL2(NULL, 'Not Null', 'Null') AS result FROM dual;
결과:
result
-------
Null
컬럼과 함께 사용하기
직원 테이블(employees)에서 보너스 금액(bonus)이 있는 경우 "Bonus Given"이라는 메시지를 표시하고, 없는 경우 "No Bonus"를 표시하는 예제입니다.
SELECT employee_id, NVL2(bonus, 'Bonus Given', 'No Bonus') AS bonus_status
FROM employees;
NVL과의 차이점
- NVL(expression, replacement_value): expression이 NULL이면 replacement_value를 반환하고, 그렇지 않으면 expression 자체를 반환합니다.
- NVL2(expression, value_if_not_null, value_if_null): expression이 NULL인지 여부에 따라 두 가지 값을 선택할 수 있습니다.
실무 활용 팁
- NVL2는 CASE 문을 대체할 수 있으며, 코드의 간결성을 높이는 데 유용합니다.
- 주로 데이터 정리 및 보고서 생성 시 NULL 처리 논리를 간단하게 구현하는 데 활용됩니다.
- NVL2를 적절히 활용하면 데이터 조회 성능을 향상시킬 수 있습니다.
관련 해시태그
#Oracle #SQL #NVL2 #데이터베이스 #NULL처리 #SQL쿼리 #DB관리 #오라클SQL #SQL함수 #데이터분석 #IT개발 #개발자팁 #데이터엔지니어링 #프로그래밍 #코딩 #DBA #SQL강의 #데이터처리 #데이터베이스관리 #SQL테크닉
'Program > ORACLE' 카테고리의 다른 글
[SQL] CREATE INDEX vs PRIMARY KEY: 차이점과 사용법 (1) | 2025.02.14 |
---|---|
[SQL] 오라클에서 특정 날짜의 분기 종료일(마지막 날짜) 구하는 방법 - ADD_MONTHS, LAST_DAY (0) | 2025.02.11 |
[SQL]📏 오라클 SQL에서 문자열 길이 계산하는 방법 - LENGTH, LENGTHB (0) | 2025.02.11 |
[SQL] 문자열 공백 제거 방법 - TRIM, REPLACE 등 (0) | 2025.02.10 |