Algunos campos de una tabla deben completarse sí o sí, mientras que otros pueden quedar vacíos.
Por ejemplo, al registrarse en un sitio, el usuario debe indicar su correo y nombre, pero puede dejar vacía su fecha de nacimiento.
¿Cómo guardamos esa ausencia de información? Para eso existe un valor especial en SQL: NULL.
Cómo funciona NULL
NULL significa “sin valor”. No es cero, ni una cadena vacía: es literalmente nada aquí.
Por ejemplo, queremos mostrar solo a los usuarios que sí tienen cumpleaños registrado:
SELECT * FROM users WHERE birthday != NULL;
Ver en DB Fiddle
⚠️ Esta consulta no funcionará: en SQL, los operadores =, !=, >, < no sirven para comparar NULL. Siempre devuelven FALSE.
SELECT * FROM users WHERE birthday IS NOT NULL;
Ver en DB Fiddle
Para verificar si un valor está vacío o no, usamos los operadores IS y IS NOT. ✅ Mostrar usuarios que sí tienen fecha de nacimiento:
SELECT * FROM users WHERE created_at IS NULL;
Ver en DB Fiddle
✅ Mostrar usuarios donde falta la fecha de creación (por ejemplo, por un error del sistema):
💡 Si esta consulta devuelve filas, podría indicar un fallo en la base o en el proceso de registro.
Diferencia con una cadena vacía
NULL no es lo mismo que '' (una cadena sin texto). Una cadena vacía es “algo, pero vacío”. NULL significa “no hay ningún valor guardado”.
Resumen
NULLindica que una celda no tiene ningún valor.- Para trabajar con él usamos
ISyIS NOT. - Los operadores
=,!=,>,<no funcionan conNULL. NULLno es igual a una cadena vacía ni a otroNULL.
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.