Ved at bruge NULL
du kan skelne mellem "sæt ingen data" og "indsæt tomme data".
Nogle flere forskelle:
-
En
LENGTH
afNULL
erNULL
, enLENGTH
af en tom streng er0
. -
NULL
s er sorteret før de tomme strenge. -
COUNT(message)
vil tælle tomme strenge, men ikkeNULL
s -
Du kan søge efter en tom streng ved at bruge en bundet variabel, men ikke efter en
NULL
. Denne forespørgsel:SELECT * FROM mytable WHERE mytext = ?
vil aldrig matche en
NULL
imytext
, uanset hvilken værdi du videregiver fra klienten. For at matcheNULL
s, bliver du nødt til at bruge en anden forespørgsel:SELECT * FROM mytable WHERE mytext IS NULL