MySQL -NULL-Werte
Was ist ein NULL-Wert?
Ein Feld mit einem NULL-Wert ist ein Feld ohne Wert.
Wenn ein Feld in einer Tabelle optional ist, ist es möglich, einen neuen Datensatz einzufügen oder einen Datensatz zu aktualisieren, ohne diesem Feld einen Wert hinzuzufügen. Dann wird das Feld mit einem NULL-Wert gespeichert.
Hinweis: Ein NULL-Wert unterscheidet sich von einem Nullwert oder einem Feld, das Leerzeichen enthält. Ein Feld mit einem NULL-Wert ist eines, das während der Datensatzerstellung leer gelassen wurde!
Wie teste ich auf NULL-Werte?
Es ist nicht möglich, mit Vergleichsoperatoren wie =, < oder <> auf NULL-Werte zu testen.
Wir müssen stattdessen die Operatoren IS NULL
und verwenden.
IS NOT NULL
IS NULL-Syntax
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
IS NOT NULL-Syntax
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
Demo-Datenbank
Nachfolgend finden Sie eine Auswahl aus der Tabelle "Kunden" in der Northwind-Beispieldatenbank:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Der IS NULL-Operator
Der IS NULL
Operator wird verwendet, um auf leere Werte (NULL-Werte) zu testen.
Die folgende SQL listet alle Kunden mit einem NULL-Wert im Feld „Adresse“ auf:
Beispiel
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address
IS NULL;
Tipp: Verwenden Sie immer IS NULL, um nach NULL-Werten zu suchen.
Der IS NOT NULL-Operator
Der IS NOT NULL
Operator wird verwendet, um auf nicht leere Werte (NOT NULL-Werte) zu testen.
Die folgende SQL listet alle Kunden mit einem Wert im Feld „Adresse“ auf:
Beispiel
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address
IS NOT NULL;