Frage №23
Verbleibend:
Was ist NULL und wie arbeitet man damit in SQL?
Musterantwort
Antwort standardmäßig anzeigen
NULL ist ein spezieller Wert in SQL, der einen fehlenden oder unbekannten Wert kennzeichnet.
Besonderheiten von NULL:
- NULL ist nicht dasselbe wie ein leerer String oder die Zahl Null.
- Arithmetik, Vergleiche und die meisten Funktionen liefern NULL, wenn einer der Operanden NULL ist: 5 + NULL ergibt NULL.
- Auch der Vergleich NULL = NULL ergibt NULL und nicht true: Ob zwei unbekannte Werte gleich sind, ist unbekannt. Deshalb findet WHERE feld = NULL keine einzige Zeile – verwende stattdessen IS NULL.
- Logische Operatoren sind eine Ausnahme: NULL OR true ergibt true und NULL AND false ergibt false.
Mit NULL arbeiten
Um auf NULL zu prüfen, nutzt du den Operator IS NULL oder IS NOT NULL.
MySQL 8.4-- Datensätze mit unbekanntem Geburtsdatum finden SELECT * FROM employees WHERE birth_date IS NULL; -- Datensätze mit bekanntem Geburtsdatum finden SELECT * FROM employees WHERE birth_date IS NOT NULL;
Funktionen für die Arbeit mit NULL
-
COALESCE
Liefert das erste Element der Liste, das nicht NULL ist.
MySQL 8.4COALESCE(val1[, val2, ...., val_n]) -
ISNULL
Liefert 1 oder 0, je nachdem, ob der Ausdruck NULL ist.
MySQL 8.4ISNULL(value) -
IFNULL
Liefert den ersten Wert, sofern dieser nicht NULL ist. Andernfalls wird der zweite Wert zurückgegeben.
MySQL 8.4IFNULL(value, alternative_value)
Eine ausführliche Analyse mit Beispielen findest du im Artikel „COALESCE in SQL: NULL ersetzen und das NULLIF-Duo“.