SQL ISNULL(): NULL-Werte überprüfen und ersetzen
SQL ISNULL() wird genutzt, um zu überprüfen, ob ein Ausdruck den Wert NULL hat. Ist dies der Fall, ersetzt die Funktion NULL mit einem Ersatzwert desselben Datentyps.
Was ist SQL ISNULL()?
In der Structured Query Language können Sie Tabellen erstellen und diese mit Werten füllen. Wenn Sie darauf verzichten, einem Feld innerhalb der Tabelle einen Wert zuzuweisen, bleibt dieses Feld leer. Es erhält dadurch den Wert NULL, der anzeigt, dass kein tatsächlicher Wert vorliegt. Angenommen, Sie wollen nun dafür sorgen, dass statt NULL ein Ersatzwert berücksichtigt wird. Dazu stellt Ihnen die Sprache unter anderem die Funktion SQL ISNULL() zur Verfügung. Diese überprüft im ersten Schritt, ob ein Ausdruck NULL ist. Ist das der Fall, wertet sie einen festgelegten Ersatzausdruck aus. Ansonsten wird der ursprüngliche Wert berücksichtigt.
- Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
- Schneller NVMe-SSD-Speicher
- Kostenlose Plesk Web Host Edition
Die Syntax der Funktion
Die Funktionsweise von SQL ISNULL() wird verständlich, wenn man einen Blick auf die Syntax wirft:
ISNULL(ausdruck, ersatzwert);
sqlDie Funktion überprüft zunächst, ob der Wert des angegebenen Ausdrucks NULL ist. Ist dies der Fall, wird der Ersatzwert ausgegeben. Andernfalls greift SQL ISNULL() auf den ursprünglichen Ausdruck zurück. Wichtig ist dabei zu beachten, dass „ausdruck“ und „ersatzwert“ denselben Datentyp haben müssen.
Funktionsweise von SQL ISNULL()
SQL ISNULL() findet Anwendung innerhalb eines SQL-Befehls wie SELECT
. In den folgenden Beispielen sehen Sie zunächst die Ausgabe, wenn der Wert des Ausdrucks NULL ist, und dann den anderen möglichen Fall. Dies ist der erste Code:
SELECT ISNULL(' ', 'Dies ist der Ersatzwert');
sqlDie Ausgabe wäre in diesem Fall diese:
Dies ist der Ersatzwert
sqlIm nächsten Beispiel wird die Funktion wieder angewendet, stellt aber fest, dass der Ausdruck einen Wert hat und gibt daher ebendiesen aus:
SELECT ISNULL('Dies ist der eigentliche Ausdruck', 'Dies ist der Ersatzwert');
sqlWir erhalten somit diese Ausgabe:
Dies ist der eigentliche Ausdruck
sqlBeispiel aus der Praxis
Für das nächste Beispiel erstellen wir eine einfache Tabelle namens „Bestellungen“. Diese enthält Spalten für die Kundennummer, den Namen der Kundin oder des Kunden sowie eine Bestellnummer:
Kundennummer | Name | Bestellnummer |
---|---|---|
1326 | Schmidt | 00451 |
1288 | Schulz | |
1262 | Schmidt | 00318 |
Wenn wir nun unsere Tabelle besser strukturieren möchten, können wir SQL ISNULL() nutzen, um den Wert NULL mit dem Platzhalter 00000
zu ersetzen. Der entsprechende Code sieht so aus:
SELECT Kundennummer,
ISNULL(Bestellnummer, 00000), Bestellnummer
FROM Bestellungen;
sqlFühren wir diesen Code aus, erhalten wir die folgende Tabelle:
Kundennummer | Name | Bestellnummer |
---|---|---|
1326 | Schmidt | 00451 |
1288 | Schulz | 00000 |
1262 | Schmidt | 00318 |
Kombination mit Aggregatsfunktionen
SQL ISNULL() funktioniert auch in Kombination mit Aggregatsfunktionen wie SQL AVG(), SQL COUNT() oder SUM()
. Dieses Zusammenspiel können Sie im folgenden Beispiel kennenlernen. Dafür erweitern wir die Tabelle von oben und fügen eine Spalte für den Bestellwert in Euro hinzu. Die Tabelle sieht nun so aus:
Kundennummer | Name | Bestellnummer | Bestellwert |
---|---|---|---|
1326 | Schmidt | 00451 | 300 |
1288 | Schulz | 00000 | NULL |
1262 | Schmidt | 00318 | 100 |
Möchten wir nun den Wert NULL mit 100 ersetzen und den gesamten Bestellwert aller Bestellungen ermitteln, nutzen wir dafür die Funktion SUM()
. Der Code ist dieser:
SELECT SUM(ISNULL(Bestellwert, 100)
FROM Bestellungen;
sqlDie Ausgabe lautet dadurch:
500
sqlDas System ersetzt den Wert NULL mit 100 und addiert somit 300 + 100 + 100.
Alternativen für SQL ISNULL()
Es gibt weitere Optionen, die SQL ISNULL() ähneln und zu den sogenannten NULL-Funktionen gezählt werden. Dazu gehören SQL COALESCE(), SQL IFNULL() und SQL NVL(). Diese überprüfen ebenfalls, ob ein Wert NULL ist, und können diesen dann mit einem Ersatzwert austauschen.
Wählen Sie den passenden Server für Ihre Anforderungen! Mit SQL-Server-Hosting von IONOS haben Sie nicht nur die Wahl zwischen MSSQL, MySQL und MariaDB, sondern profitieren auch von persönlicher Beratung, starken Sicherheitsfeatures und erstklassiger Performance.