La función NULLIF compara dos expresiones. Si son iguales, la función devuelve un valor nulo. Si no son iguales, la función devuelve la primera expresión. No puede especificar el literal NULL para la primera expresión.
En la sintaxis:
•expr1
es el valor de origen que se compara con expr2
•expr2
es el valor de origen que se compara con expr1 (Si no es igual que expr1, se devuelve expr1.)
En el ejemplo que se muestra en la diapositiva, la longitud del nombre de la tabla EMPLOYEES se compara con el apellido de la tabla EMPLOYEES. Si las longitudes del nombre y el apellido son iguales, se devuelve un valor nulo. Si las longitudes del nombre y el apellido no son iguales, se muestra la longitud del nombre.
Nota: La función NULLIF es lógicamente equivalente a esta expresión CASE. La expresión CASE se analiza en una página posterior:
CASE WHEN expr1 = expr 2 THEN NULL
ELSE expr1 END
SELECT first_name, LENGTH(first_name) "expr1",
last_name, LENGTH(last_name) "expr2",
NULLIF(LENGTH(first_name), LENGTH(last_name)) result
FROM employees;
0 comentarios:
Publicar un comentario