Tach!
Es ist ein Unterschied ob man schreibt "IS NULL" oder "= NULL".
Ja, das war der Teil, den du uns nicht gezeigt hast.
Wann immer du eine Operation mit NULL als einem Teil der Operanden ausführst ist das Ergebnis des Ausdrucks NULL. Deshalb kannst du nicht auf = NULL
testen, weil das Ergebnis ebenfalls NULL ist und im booleschen Kontext als false erkannt wird. Nur der spezielle Operator IS berücksichtigt das NULL angemessen und liefert ein boolesches Ergebnis.
dedlfix.