Wenn ich Spalte! = Etwas schreibe, wählt es auch keinen Nullwert und etwas. Warum ist das passiert? Kann ich dies verhindern, indem ich einfach schreibe UND die Spalte ist NULL?SQL BUG akzeptiert keine Null beim Schreiben! =
Antwort
Sie müssen auch nach NULL
suchen.
SELECT
*
FROM your_table
WHERE column <> something
OR column IS NULL
Hinweis: Sie können nicht mit alles andere als NULL
vergleichen NULL
.
einen Blick auf die folgenden Code-Schnipsel Werfen wir einen Blick:
SET @v := NULL;
SELECT @v = NULL;
Result: NULL; Because NULL can be only compared using IS NULL
SELECT @v IS NULL;
Result: 1 (i.e. TRUE)
Der NULL-Wert überraschend sein können, bis Sie sich daran gewöhnen. Konzeptionell bedeutet NULL "ein fehlender unbekannter Wert" und es wird etwas anders als andere Werte behandelt.
für NULL zu testen, verwenden Sie die IS NULL und IS NOT NULL
Vielen Dank für die Antwort. Der erste Satz war die Antwort für mich :) –
Ja, Sie haben für NULL überprüfen angegebene OR-Operator als 1000111 verwenden, nicht AND.
auch, wie Sie bereits wissen, bei der Verwendung von OR, wenn es andere AND-Operatoren in der WHERE-Klausel, dann müssen wir sie mit Klammern ein()
Grüße
müssen separat für NULL Zustand überprüfen. .
and column is NULL
Danke für Ihre Antwort Ich bearbeite Ihre Antwort ein wenig –
Okay ... sicher. Vielen Dank –
Weil 'null' die Bedingung immer nicht erfüllt, wenn sie nicht ausdrücklich überprüft wird. – SomeJavaGuy