jueves, 12 de marzo de 2020

La función NULLIF de Oracle

función NULLIF de Oracle evalúa dos términos de la siguiente manera:
  • Si son iguales, devuelve NULL.
  • Si no son iguales, devuelve el primer término.

Sintaxis

NULLIF (expresión1, expresión2)

Ejemplo

1
2
3
4
5
6
7
select
new.employee_name NAME,
nullif(old.job_id,new.job_id)
from
employeeshist old, employees new
where
old.employee_id=new.employee_id;
En este ejemplo comparamos el Job_ID de la tabla actual de empleados con el Job_ID de la tabla histórica de empleados.
Esta consulta mostrará el nombre de los empleados junto con el job_id si alguna vez han cambiado de posición alguna vez dentro de la empresa. Si nunca han cambiado de posición, sólo aparecerá el nombre.
Esta función por si misma no tiene muchas aplicaciones directas, pero junto con NVL2 se pueden construir sentencias con lógica condicional simple.
Por ejemplo:
NVL2(NULLIF(expresión1,expresión2),’Los resultados no coinciden’,’Los resultados coinciden’)