SQL NULL-Werte


NULL-Werte stellen fehlende unbekannte Daten dar.

Standardmäßig kann eine Tabellenspalte NULL-Werte enthalten.

Dieses Kapitel erläutert die Operatoren IS NULL und IS NOT NULL.


SQL-NULL-Werte

Wenn eine Spalte in einer Tabelle optional ist, können wir einen neuen Datensatz einfügen oder einen vorhandenen Datensatz aktualisieren, ohne einen Wert zu dieser Spalte hinzuzufügen. Das bedeutet, dass das Feld mit einem NULL-Wert gespeichert wird.

NULL-Werte werden anders behandelt als andere Werte.

NULL wird als Platzhalter für unbekannte oder nicht zutreffende Werte verwendet.

NoteHinweis:NULL kann nicht mit 0 verglichen werden; sie sind nicht gleichwertig.


Umgang mit NULL-Werten in SQL

Schauen Sie sich die folgende Tabelle "Persons" an:

P_Id LastName FirstName Adresse Stadt
1 Hansen Ola Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Stavanger

Angenommen, die Spalte "Address" in der Tabelle "Persons" ist optional. Das bedeutet: Wenn Sie einen Datensatz ohne Wert für die Spalte "Address" einfügen, wird die Spalte "Address" mit einem NULL-Wert gespeichert.

Wie testen wir also auf NULL-Werte?

Es ist nicht möglich, mit Vergleichsoperatoren wie =, < oder <> auf NULL-Werte zu testen.

Wir müssen die Operatoren IS NULL und IS NOT NULL verwenden.


SQL IS NULL

Wie wählen wir nur die Datensätze aus, die einen NULL-Wert in der Spalte "Address" haben?

Wir müssen den Operator IS NULL verwenden:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

Die Ergebnismenge sieht so aus:

LastName FirstName Adresse
Hansen Ola
Pettersen Kari

NoteTipp:Verwenden Sie immer IS NULL, um nach NULL-Werten zu suchen.


SQL IS NOT NULL

Wie wählen wir nur die Datensätze aus, die keinen NULL-Wert in der Spalte "Address" haben?

Wir müssen den Operator IS NOT NULL verwenden:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

Die Ergebnismenge sieht so aus:

LastName FirstName Adresse
Svendson Tove Borgvn 23

Im nächsten Abschnitt lernen wir die Funktionen ISNULL(), NVL(), IFNULL() und COALESCE() kennen.


Andere Erweiterungen