NULLen sind etwas seltsam. Eine NULL ist nie gleich alles einschließlich einer weiteren NULL. Außerdem gibt jede boolesche Operation gegen NULL NULL zurück.
Der Ausdruck end IS NOT NULL
wird false
auswerten if end
ist NULL und true
if end
ist nicht NULL.
Der Ausdruck NOT( end=NULL)
wird tatsächlich immer zu NULL ausgewertet, weil (end = NULL)
gleich NULL und NOT (NULL)
ist auch gleich NULL. Genauer gesagt, in einer WHERE-Klausel wird es nie werte true
aus .