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.
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 ENDCuando
e1=e2se 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)
