La función NVL2 de Oracle

NVL2 provee de funcionalidad similar a la función NVL pero con un enfoque diferente.

Esta función evalúa una columna o expresión de manera que:

  • Si el resultado no es NULL, devuelve el segundo parámetro de NVL2.
  • Si el resultado es NULL, devuelve el tercer parámetro de NVL2.

Como vemos, la principal diferencia con NVL es que en caso de no ser NULL, NVL2 no devuelve el dato original, sino que devuelve el segundo parámetro que le indicamos.

Sintaxis

NVL2(expresion , resultado_si_no_NULL , resultado_si_NULL)

Los tipos de datos de la expresión o columna evaluada tienen que ser compatibles con los datos del segundo y tercer parámetro.

Ejemplo


select
nombre,
apellidos,
NVL2(deportefavorito, 'Tiene deporte favorito: SI','Tiene deporte favorito: NO')
from
usuarios;

En este caso estamos haciendo una consulta donde nos interesa sacar un reporte de los usuarios que muestre el nombre, apellido y si tienen o no algún deporte favorito.

No nos interesa saber qué deporte favorito en concreto tiene cada usuario, únicamente si tiene o no.

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *