NULLIF función escalar

La función NULLIF devuelve el valor nulo si los dos argumentos son iguales; de lo contrario, devuelve el valor del primer argumento.

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualNULLIF( expresión, expresión)

El esquema es SYSIBM.

Los dos argumentos deben ser compatibles. Los argumentos pueden ser de un tipo distinto, ya sea integrado o definido por el usuario. Ninguno de los argumentos puede ser un BLOB, CLOB, DBCLOB o XML. Los argumentos de cadena de caracteres y cadena gráfica son compatibles con los valores de fecha y hora. Para más información sobre compatibilidad, consulte la matriz de compatibilidad en la Tabla 1.

Si hay alguna cadena de caracteres mixta o cadena gráfica y argumentos numéricos, el valor de la cadena se convierte implícitamente a un valor DECFLOAT(34).

Los atributos del resultado son los atributos del primer argumento.

Notas

Sintaxis alternativa:
El resultado de usar NULLIF(e1,e2) es el mismo que usar la expresión CASE :
   CASE WHEN e1=e2 THEN NULL ELSE e1 END

Cuando e1=e2 se evalúa como desconocido porque uno o ambos argumentos son nulos, las expresiones CASE consideran que la evaluación no es verdadera. En este caso, NULLIF devuelve el valor del primer argumento.

ejemplos

Ejemplo 1:
Supongamos que las variables de host PROFIT, CASH y LOSSES tienen tipos de datos decimales con los valores de 4500.00, 500.00 y 5000.00, respectivamente. La siguiente función devuelve un valor nulo:
   NULLIF (:PROFIT + :CASH , :LOSSES)