SQL Valores NULL


El valor NULL representa datos desconocidos faltantes.

De manera predeterminada, las columnas de una tabla pueden contener valores NULL.

Este capítulo explica los operadores IS NULL e IS NOT NULL.


Valores NULL en SQL

Si una columna de una tabla es opcional, podemos insertar un nuevo registro o actualizar un registro existente sin agregar un valor a esa columna. Esto significa que el campo se guardará con un valor NULL.

Los valores NULL se tratan de manera diferente a otros valores.

NULL se utiliza como marcador de posición para valores desconocidos o no aplicables.

NoteNota:No se puede comparar NULL y 0; no son equivalentes.


Manejo de valores NULL en SQL

Observe la siguiente tabla "Persons":

P_Id LastName FirstName Address City
1 Hansen Ola Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Stavanger

Suponga que la columna "Address" en la tabla "Persons" es opcional. Esto significa que si se inserta un registro sin valor en la columna "Address", la columna "Address" se almacenará con un valor NULL.

Entonces, ¿cómo probamos los valores NULL?

No se pueden usar operadores de comparación para probar valores NULL, como =, < o <>.

Debemos usar los operadores IS NULL e IS NOT NULL.


SQL IS NULL

¿Cómo seleccionamos únicamente los registros que tienen un valor NULL en la columna "Address"?

Debemos usar el operador IS NULL:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

El conjunto de resultados es el siguiente:

LastName FirstName Address
Hansen Ola
Pettersen Kari

NoteConsejo:Utilice siempre IS NULL para buscar valores NULL.


SQL IS NOT NULL

¿Cómo seleccionamos únicamente los registros que no tienen un valor NULL en la columna "Address"?

Debemos usar el operador IS NOT NULL:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

El conjunto de resultados es el siguiente:

LastName FirstName Address
Svendson Tove Borgvn 23

En la siguiente sección, aprenderemos sobre las funciones ISNULL(), NVL(), IFNULL() y COALESCE().


Otras extensiones