Gibt es einen Unterschied zwischen MySQLUnterschied zwischen MySQL IS NOT NULL und! = ''
IF (myText IS NOT NULL) THEN
und
IF (myText != '') THEN
Gibt es einen Unterschied zwischen MySQLUnterschied zwischen MySQL IS NOT NULL und! = ''
IF (myText IS NOT NULL) THEN
und
IF (myText != '') THEN
Ja, es gibt einen großen Unterschied zwischen einem NULL
Wert und einem leeren/leer Wert.
Hier ist one resource, die die Unterschiede beschreibt.
Wenn myText IS NULL
:
myText IS NOT NULL
zu FALSE
myText != ''
wertet ausgewertet NULL
(der im wesentlichen die gleiche wie FALSE
würde in diesem speziellen Fall verhält Sie schrieb)Sie sollten jedoch nicht die Angewohnheit, sie gleich zu behandeln, da sie sich meistens unterschiedlich verhalten: Zum Beispiel:
Angenommen, Sie eine Tabelle tbl
haben:
id text
1 NULL
2
3 abc
Hinweis: 1 enthält einen NULL
Wert und 2 enthält einen leeren String (''
).
Wenn Sie die folgende Abfrage ausführen:
SELECT * FROM tbl WHERE text != ''
... es wird Datensatz zurückkehren 3.
Wenn Sie die folgende Abfrage ausführen:
SELECT * FROM tbl WHERE text IS NOT NULL
... es wird die Datensätze 2 und 3 zurückgeben.
Ja, es gibt einen Unterschied.
In einfachen Worten, myText NOT NULL gibt an, dass myText einen gewissen Wert ist, die '' auch sein könnte.
Wo, wie myText! = '' gibt an, dass es TRUE zurück, wenn myText NICHT einen leeren String enthalten.
Es gibt einen Unterschied. Wenn der Standardwert einer Spalte "NULL" ist, wurden keine Daten für ein Feld festgelegt. Wenn der Wert eines Felds jedoch als '' aktualisiert wurde, ist es nicht NULL, sondern leer.
Hier finden Sie weitere Informationen Link