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’)