Używając NULL
można odróżnić „nie umieszczaj danych” i „wstaw puste dane”.
Jeszcze kilka różnic:
-
LENGTH
zNULL
jestNULL
,LENGTH
pustego ciągu to0
. -
NULL
s są sortowane przed pustymi ciągami. -
COUNT(message)
zliczy puste ciągi, ale nieNULL
s -
Możesz wyszukać pusty ciąg za pomocą powiązanej zmiennej, ale nie za
NULL
. To zapytanie:SELECT * FROM mytable WHERE mytext = ?
nigdy nie dopasuje
NULL
wmytext
, niezależnie od wartości przekazanej klientowi. Aby dopasowaćNULL
s, będziesz musiał użyć innego zapytania:SELECT * FROM mytable WHERE mytext IS NULL