Esta página se tradujo del inglés con ayuda de IA. Si hay diferencias entre ambas, la versión en inglés es la referencia.
NULLIF
Acepta dos argumentos y devuelve un valor NULL si son iguales; en caso contrario, se devuelve el primer argumento.
La función
NULLIFequivale aCASE WHEN expression1 = expression2 THEN NULL ELSE expression1 END
NULLIFes útil con funciones de agregación comoAVG,MAX,MIN,SUMyCOUNT, cuando el conjunto de resultados contiene valores especiales que no sonNULL, pero que se quieren tratar comoNULLa efectos de la agregación.
Consulte también:
[SELECT] [COALESCE] [IFNULL]
Sintaxis
SELECT NULLIF(expression1, expression2) FROM <multipartIdentifier>;
Argumentos
expression
Dos expresiones de cualquier tipo de datos que se resuelven en un valor NULL o no NULL.
La función
NULLIFbusca en sus argumentos, de izquierda a derecha, un argumento que defina una función de intercalación y usa esa función de intercalación para todas las comparaciones de cadenas. Si ninguno de los argumentos define una función de intercalación, se usa la intercalaciónBINARY.
Valor(es) devuelto(s)
Devuelve NULL si los dos argumentos expression se resuelven en el mismo valor; en caso contrario, se devuelve el primer valor.
Ejemplos
Contar las filas en las que un campo no es igual a un valor dado
SELECT COUNT(NULLIF(name, 'controller-0'))
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
/*
equivalent to:
SELECT COUNT(*) FROM google.compute.instances
WHERE name != 'controller-0';
*/
Para obtener más información, consulte https://www.sqlite.org/lang_corefunc.html#nullif