데이터를 다루다 보면 컬럼 값이 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
반응형