Saltar al contenido principal
Página traducida

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 NULLIF equivale a CASE WHEN expression1 = expression2 THEN NULL ELSE expression1 END

NULLIF es útil con funciones de agregación como AVG, MAX, MIN, SUM y COUNT, cuando el conjunto de resultados contiene valores especiales que no son NULL, pero que se quieren tratar como NULL a 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 NULLIF busca 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ón BINARY.

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