Volver a las preguntas frecuentes sobre Bases de datos
CENTRO DE AYUDA · FAQBases de datos1 min de lectura

¿Cómo afectan los valores SQL NULL a filtros y comparaciones?

NULL representa un valor desconocido o ausente en SQL, por lo que las comparaciones de igualdad habituales no lo encuentran. Usa IS NULL o IS NOT NULL y decide explícitamente cómo deben afectar al resultado los valores ausentes.

Bases de datos

Usa el predicado adecuado

Una condición como columna = NULL no es una comparación verdadera normal. SQL usa lógica de tres valores: una comparación con NULL es desconocida y normalmente queda excluida por WHERE.

Usa IS NULL para seleccionar filas cuyo campo no tiene valor e IS NOT NULL para las que sí. Si un parámetro puede ser nulo, construye la condición deliberadamente en vez de esperar que la igualdad cubra ambos casos.

Define el comportamiento de los datos ausentes

Decide si un valor ausente debe excluirse, tratarse como predeterminado o mostrarse aparte. COALESCE puede proporcionar un valor alternativo para mostrar o calcular, si ese valor tiene sentido para el campo.

Prueba filtros con NULL, cadenas vacías y valores normales; no son equivalentes. Revisa también las funciones agregadas, pues muchas omiten NULL y eso puede cambiar recuentos o promedios.

Volver a las preguntas frecuentes sobre Bases de datos