Usando
NULL
você pode distinguir entre "colocar sem dados" e "colocar dados vazios". Mais algumas diferenças:
-
UmLENGTH
deNULL
éNULL
, umLENGTH
de uma string vazia é0
.
-
NULL
s são classificados antes das strings vazias.
-
COUNT(message)
contará strings vazias, mas nãoNULL
s
-
Você pode procurar por uma string vazia usando uma variável vinculada, mas não por umNULL
. Esta consulta:
SELECT * FROM mytable WHERE mytext = ?
nunca corresponderá a umNULL
emmytext
, qualquer valor que você passar do cliente. Para corresponder aNULL
s, você terá que usar outra consulta:
SELECT * FROM mytable WHERE mytext IS NULL