Usando
NULL você pode distinguir entre "colocar sem dados" e "colocar dados vazios". Mais algumas diferenças:
-
UmLENGTHdeNULLéNULL, umLENGTHde uma string vazia é0.
-
NULLs são classificados antes das strings vazias.
-
COUNT(message)contará strings vazias, mas nãoNULLs
-
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 umNULLemmytext, qualquer valor que você passar do cliente. Para corresponder aNULLs, você terá que usar outra consulta:
SELECT * FROM mytable WHERE mytext IS NULL