Ja, es gibt einen großen Unterschied zwischen einem NULL
Wert und einen leeren/leeren Wert.
Hier ist eine Ressource das beschreibt die Unterschiede.
Wenn myText IS NULL :
myText IS NOT NULLwird zuFALSEausgewertetmyText != ''wird zuNULLausgewertet (was sich im Wesentlichen genauso verhält wieFALSEwürde in diesem speziellen Fall, den Sie geschrieben haben)
Sie sollten sich jedoch nicht angewöhnen, sie gleich zu behandeln, da sie sich meistens unterschiedlich verhalten:Zum Beispiel:
Angenommen, Sie haben eine Tabelle tbl :
id text
1 NULL
2
3 abc
Hinweis: 1 enthält einen NULL Wert und 2 enthält eine leere Zeichenfolge ('' ).
Wenn Sie die folgende Abfrage ausführen:
SELECT * FROM tbl WHERE text != ''
... es wird Datensatz 3 zurückgegeben.
Wenn Sie die folgende Abfrage ausführen:
SELECT * FROM tbl WHERE text IS NOT NULL
... es werden die Datensätze 2 und 3 zurückgegeben.