DB

[Oracle] NVL/ NVL2

오선지♬ 2024. 8. 9. 18:37
728x90
반응형

오라클의 NVL와 NVL2 함수는 둘 다 Null 값을 처리하는 데 사용됩니다.

하지만 그 기능과 사용법에는 차이가 있습니다.

 

NVL

NVL 함수는 첫 번째 인수가 Null인 경우 두 번째 인수로 대체합니다.

첫 번째 인수가 Null이 아니면 첫 번째 인수를 반환합니다.

NVL(expr1, expr2)
SELECT NVL(commission_pct, 0) AS commission FROM employees;

이 예제에서는 commission_pct가 Null이면 0을 반환하고, Null이 아니면 commission_pct 값을 반환합니다.

 

NVL2

NVL2 함수는 첫 번째 인수가 Null이 아닌 경우 두 번째 인수를 반환하고,

첫 번째 인수가 Null인 경우 세 번째 인수를 반환합니다.

NVL2(expr1, expr2, expr3)
SELECT NVL2(commission_pct, salary * commission_pct, salary) AS income FROM employees;
728x90
반응형