Usando NULL
puede distinguir entre "no poner datos" y "poner datos vacíos".
Algunas diferencias más:
-
UN
LENGTH
deNULL
esNULL
, unLENGTH
de una cadena vacía es0
. -
NULL
s se ordenan antes que las cadenas vacías. -
COUNT(message)
contará cadenas vacías pero noNULL
s -
Puede buscar una cadena vacía usando una variable enlazada pero no un
NULL
. Esta consulta:SELECT * FROM mytable WHERE mytext = ?
nunca coincidirá con un
NULL
enmytext
, cualquiera que sea el valor que pase del cliente. Para hacer coincidirNULL
s, tendrá que usar otra consulta:SELECT * FROM mytable WHERE mytext IS NULL