En utilisant NULL
vous pouvez faire la distinction entre "mettre aucune donnée" et "mettre des données vides".
Quelques autres différences :
-
Une
LENGTH
deNULL
estNULL
, uneLENGTH
d'une chaîne vide est0
. -
NULL
s sont triés avant les chaînes vides. -
COUNT(message)
comptera les chaînes vides mais pasNULL
s -
Vous pouvez rechercher une chaîne vide en utilisant une variable liée mais pas un
NULL
. Cette requête :SELECT * FROM mytable WHERE mytext = ?
ne correspondra jamais à un
NULL
dansmytext
, quelle que soit la valeur transmise par le client. Pour correspondre àNULL
s, vous devrez utiliser une autre requête :SELECT * FROM mytable WHERE mytext IS NULL