Usando NULL
puoi distinguere tra "non inserire dati" e "mettere dati vuoti".
Qualche altra differenza:
-
Una
LENGTH
diNULL
èNULL
, unaLENGTH
di una stringa vuota è0
. -
NULL
i messaggi vengono ordinati prima delle stringhe vuote. -
COUNT(message)
conterà le stringhe vuote ma nonNULL
s -
Puoi cercare una stringa vuota usando una variabile associata ma non un
NULL
. Questa domanda:SELECT * FROM mytable WHERE mytext = ?
non corrisponderà mai a un
NULL
inmytext
, qualunque sia il valore che trasmetti dal cliente. Per corrispondere aNULL
s, dovrai usare un'altra query:SELECT * FROM mytable WHERE mytext IS NULL