개발자이야기/Oracle

Oracle 기본 예제: NVL 함수로 NULL 값 처리하기

퐈니스타일 2025. 9. 11. 08:13

데이터를 다루다 보면 컬럼 값이 NULL인 경우가 자주 발생합니다. Oracle에서는 NVL 함수를 사용해 NULL 값을 다른 값으로 대체할 수 있습니다.

✨ NVL 함수란?

  • 형식: NVL(컬럼명, 대체값)
  • 지정한 컬럼이 NULL이면 대체값을 반환하고, NULL이 아니면 원래 값을 반환합니다.
-- 예시 테이블: Employees (직원 정보)
-- 컬럼: EmpName, Salary, Bonus

-- 보너스가 NULL이면 0으로 대체하여 총 지급액 계산
SELECT 
    EmpName,
    Salary,
    NVL(Bonus, 0) AS Bonus,
    (Salary + NVL(Bonus, 0)) AS TotalPay
FROM Employees;

 

EmpName Salary Bonus TotalPay
홍길동 3,000,000 500,000 3,500,000
김철수 2,800,000 NULL 2,800,000
이영희 2,500,000 200,000 2,700,000

 

📊 NVL vs NVL2 비교

함수설명예시
NVL(col, value) NULL이면 value 반환 NVL(Bonus, 0)
NVL2(col, value1, value2) NOT NULL이면 value1, NULL이면 value2 반환 NVL2(Bonus, '있음', '없음')

 

728x90
반응형