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.
Hinweis: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:
WHERE Address IS NULL
Die Ergebnismenge sieht so aus:
| LastName | FirstName | Adresse |
|---|---|---|
| Hansen | Ola | |
| Pettersen | Kari |
Tipp: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:
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