본문 바로가기
Program/ORACLE

[SQL] 오라클 NVL2 함수 활용법: NULL 값 처리하기 - NVL2

by Dev200 2025. 2. 13.

 

오라클(Oracle) 데이터베이스의 NVL2 함수는 SQL에서 제공하는 강력한 NULL 처리 함수로, 특정 표현식이 NULL인지 여부에 따라 다른 값을 반환하는 기능을 제공합니다. 이를 활용하면 데이터 정리 및 보고서 생성 시 보다 간결한 SQL 문을 작성할 수 있습니다.


NVL2 함수의 구문

NVL2(expression, value_if_not_null, value_if_null)
  • expression: 검사할 표현식. 값이 NULL인지 아닌지에 따라 반환값이 결정됩니다.
  • value_if_not_null: expressionNULL이 아닐 경우 반환할 값.
  • value_if_null: expressionNULL일 경우 반환할 값.

NVL2 함수의 동작 방식

  • expressionNULL이 아닐 경우 value_if_not_null을 반환합니다.
  • expressionNULL일 경우 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): expressionNULL이면 replacement_value를 반환하고, 그렇지 않으면 expression 자체를 반환합니다.
  • NVL2(expression, value_if_not_null, value_if_null): expressionNULL인지 여부에 따라 두 가지 값을 선택할 수 있습니다.

실무 활용 팁

  • NVL2CASE 문을 대체할 수 있으며, 코드의 간결성을 높이는 데 유용합니다.
  • 주로 데이터 정리 및 보고서 생성 시 NULL 처리 논리를 간단하게 구현하는 데 활용됩니다.
  • NVL2를 적절히 활용하면 데이터 조회 성능을 향상시킬 수 있습니다.

관련 해시태그

#Oracle #SQL #NVL2 #데이터베이스 #NULL처리 #SQL쿼리 #DB관리 #오라클SQL #SQL함수 #데이터분석 #IT개발 #개발자팁 #데이터엔지니어링 #프로그래밍 #코딩 #DBA #SQL강의 #데이터처리 #데이터베이스관리 #SQL테크닉