Hi,
Man kann NULL auch als "keine Daten vorhanden" interpretieren. Dass das etwas anderes als "im fachlichen Sinne nicht gesetzt" ist, merkt man spätestens dann, wenn man nach diesem Wert abfragen muss. Da alle Operationen mit NULL als einem der Operanden zum Ergebnis NULL führen, muss man immer eine Extrawurst braten, wenn man NULL-Werte berücksichtigen möchte, z.B. den Operator IS NULL bemühen.
Insbesondere werden bei Abfragen wie
select * from tabelle where spalte != 42
oder
select * from tabelle where spalte not in (17, 23, 42)
die Zeilen, die in spalte ein NULL stehen haben, NICHT ausgegeben - obwohl NULL ja durchaus was anderes als 42 ist bzw. nicht in der Menge {17, 23, 42} enthalten ist.
cu,
Andreas a/k/a MudGuard
 nicht angemeldet
 nicht angemeldet MudGuard
 MudGuard TS
 TS Auge
 Auge Der Martin
 Der Martin Gunnar Bittersmann
 Gunnar Bittersmann Matthias Apsel
 Matthias Apsel Rolf B
 Rolf B Christian Kruse
 Christian Kruse Julius
 Julius Camping_RIDER
 Camping_RIDER