Sì, c'è una grande differenza tra un NULL
valore e un valore vuoto/vuoto.
Ecco una risorsa che descrive le differenze.
Quando myText IS NULL
:
myText IS NOT NULL
restituisceFALSE
myText != ''
restituisceNULL
(che essenzialmente si comporta comeFALSE
in questo caso specifico hai scritto)
Tuttavia, non dovresti prendere l'abitudine di trattarli allo stesso modo, poiché la maggior parte delle volte si comporteranno in modo diverso:Ad esempio:
Supponi di avere una tabella tbl
:
id text
1 NULL
2
3 abc
Nota: 1 contiene un NULL
value e 2 contiene una stringa vuota (''
).
Se esegui la seguente query:
SELECT * FROM tbl WHERE text != ''
... restituirà il record 3.
Se esegui la seguente query:
SELECT * FROM tbl WHERE text IS NOT NULL
... restituirà i record 2 e 3.