SQL – la función NULLIF

Esta función es utilizada para comparar dos expresiones. Si las expresiones son iguales, la función retorna un null. Si son diferentes, la función retorna la primera expresión.

La sintaxis de la función es:

NULLIF( expr1 expr2 )

donde

expr1 es la expresión a comparar con la expr2

expr2 es la expresión a comparar con la expr1

Ejemplo:

Realizar una consulta para conocer cuales empleados han cambiado de cargo durante su vida laboral.

SELECT e.cedulaEmpleado, e.nombreEmpleado, NULLIF (h.idCargo, e.idCargo) as cargoAnterior

FROM empleados e, historial h

WHERE e.cedulaEmpleado = h.cedulaEmpleado

La anterior sentencia puede asimilarse como: Si el empleado cambió de cargo, la función retornará el acergo que tenía anteriormente (el almacenado en historial); si tiene el mismo cargo, retornará NULL

cedulaEmpleadonombreEmpleadocargoAnterior
45658245L. RodríguezSecretaria
2569854M. ReyesPatinador
23656588J. Pérez 
7856325G. OsorioJefe de Personal

La función NULLIF es lógicamente equivalente a la expresión CASE:

CASE WHEN expr1 expr2 THEN NULL ELSE expr1 END

Escrito por: Sandra P.
tt_sandra at hotmail dot com

Leave a Reply