STARTBEITRAG
Übungstabelle mit ein paar NULL-Werten. WHERE ende = NULL liefert keine Zeilen. IS NULL liefert die erwarteten. Ich kenne die Schreibweise, aber wie erklärt man sauber, warum das Gleichheitszeichen nicht reicht?
0
Lernfragen und Praxis · 3 Antworten
STARTBEITRAG
Übungstabelle mit ein paar NULL-Werten. WHERE ende = NULL liefert keine Zeilen. IS NULL liefert die erwarteten. Ich kenne die Schreibweise, aber wie erklärt man sauber, warum das Gleichheitszeichen nicht reicht?
NULL steht nicht für einen normalen Wert, den du mit = vergleichen kannst. Solche Vergleiche ergeben UNKNOWN. WHERE behält nur TRUE. IS NULL ist die dafür vorgesehene Prüfung.
NULL steht nicht für einen normalen Wert, den du mit = vergleichen kannst. Solche Vergleiche ergeben UNKNOWN. WHERE behält nur TRUE. IS NULL ist die dafür vorgesehene Prüfung.
Also ist auch NULL = NULL nicht TRUE. Dann sollte ich meinen Merksatz "beide fehlen, also gleich" beerdigen.
NULL steht nicht für einen normalen Wert, den du mit = vergleichen kannst. Solche Vergleiche ergeben UNKNOWN. WHERE behält nur TRUE. IS NULL ist die dafür vorgesehene Prüfung.
Der dritte Wahrheitszustand macht es für mich verständlicher. Nur "NULL ist leer" war als Erklärung offenbar zu kurz.