La función NVL en Oracle permite devolver un valor alternativo cuando una expresión es NULL.
Es útil en consultas donde no queremos mostrar campos vacíos, por ejemplo en informes, listados o cálculos sencillos.
Sintaxis
NVL(expr1, expr2)
Oracle evalúa la función así:
- Si
expr1no esNULL, devuelveexpr1. - Si
expr1esNULL, devuelveexpr2.
Los tipos de dato de expr1 y expr2 deben ser compatibles. Si Oracle no puede hacer la conversión implícita necesaria, la consulta devolverá error.
Ejemplo con texto
select nombre, dni, nvl(deportefavorito, 'Sin deporte favorito') as deporte_favorito from usuarios;
En este ejemplo, si deportefavorito es NULL, Oracle mostrará la cadena Sin deporte favorito.
Ejemplo con números
select producto, precio, nvl(descuento, 0) as descuento from productos;
Si el campo descuento no tiene valor, la consulta devolverá 0.
Ejemplo con fechas
select usuario, nvl(fecha_baja, date '2999-12-31') as fecha_baja from usuarios;
Este tipo de ejemplo puede servir cuando necesitamos tratar una fecha nula como una fecha por defecto.
NVL y COALESCE
NVL es una función clásica de Oracle para sustituir valores NULL. Si necesitas evaluar más de dos posibles valores, normalmente es más cómodo usar COALESCE.

muy buena respuesta y explicacion sobre la funcion nvl.
gracias por su aporte.