Ein Null-Wert ist ein eigener Wert, der ausdrückt, dass kein Wert vorhanden ist. Er steht in fast jeder Sprache zur Verfügung und ist weder die Zahl null noch ein leerer Text.
- Null-Wert
Ein eigener Wert, der ausdrückt, dass kein Wert vorhanden ist.
Beispiel: „Das Feld enthielt einen Null-Wert, weil das Geburtsdatum nie erfasst wurde.“Abgrenzung zur Zahl null und zum leeren String: Beide sind Werte, der Null-Wert ist das Fehlen eines Wertes.
Je nach Sprache heißt er null, nil, None oder nothing; in JSON steht dafür das Wort null.
Warum es den Null-Wert gibt
Weil fehlende Angaben vorkommen und sich nicht sinnvoll durch eine Zahl ersetzen lassen. Ein Alter von null Jahren bedeutet etwas anderes als ein Alter, das niemand kennt, und beides muss unterscheidbar bleiben.
In Datenbanken ist das derselbe Gedanke. Eine leere Spalte sagt „nicht erhoben“ und nicht „der Wert ist null“, und Auswertungen behandeln beides verschieden.
Warum der Null-Wert so oft Fehler auslöst
Weil er dort auftaucht, wo niemand mit ihm rechnet. Wer auf einem Wert eine Eigenschaft abfragt, die es nicht gibt, bekommt einen Abbruch, und zwar erst zur Laufzeit und oft nur bei bestimmten Daten.
Das macht diese Fehler schwer zu finden. Sie treten beim einen Datensatz auf und beim nächsten nicht, und die Ursache liegt meist weit vor der Stelle, an der es knallt.
Wie mit Null-Werten umgegangen wird
Durch Prüfung vor der Benutzung oder durch Typen, die das Fehlen sichtbar machen. Neuere Sprachen zwingen dazu, den Fall auszuschreiben, statt ihn stillschweigend zuzulassen.
In der täglichen Arbeit hilft eine einfache Regel: An jeder Stelle, an der Daten von außen hereinkommen, wird entschieden, was ein fehlender Wert bedeuten soll. Danach rechnet niemand mehr damit.