Die SQL NVL Funktion – So ersetzen Sie NULL-Werte
SQL NVL
steht für „Null Value“ und dient dazu, NULL-Werte in Datensätzen und Datenbanken durch aussagekräftigere Werte zu ersetzen. Auf diese Weise straffen Sie Datenbanken, verbessern die Lesbarkeit von Analysen und Berichten und optimieren Ihre Performance bei Suchabfragen.
Was ist die SQL NVL
-Funktion?
Administratorinnen und Administratoren, die regelmäßig mit Datenbanken arbeiten und für Analysen vollständige Datensätze benötigen, kennen das Problem mit NULL-Werten. Fehlende Angaben und Lücken können zu verzerrten Ergebnissen, nicht verwertbaren Berichten sowie Ungenauigkeiten führen. Die Lösung des Problems lautet SQL NVL
. Die praktische „Null-Value Logic“-Funktion hilft Ihnen dabei, leere Spalten und Felder durch benutzerdefinierte, sinnvollere Werte oder Zeichenketten zu ersetzen. Auf diese Weise verbessert sich die Qualität und Verwertbarkeit Ihrer Datensätze und somit auch die Leistungsfähigkeit und Performance von Datenbanken.
So funktioniert SQL NVL
Die Funktionsweise von NVL
ist simpel: Sie definieren mit SQL NVL
, mit welchem Wert Sie NULL-Werte in Ihren Zielergebnissen ersetzen möchten. Die Funktion prüft die ausgewählten Datensätze auf wahre oder falsche Werte und ersetzt gefundene NULL-Werte automatisch durch die gewünschten Informationen. Bei NULL-Werten handelt es sich in Zeilen und Spalten in der Regel um abwesende Daten. Sie sind daher nicht zu verwechseln mit einem Wert „0“ als numerischem Wert oder mit Leerstellen.
Achtung: SQL NVL
kommt vorrangig in ORACLE-Datenbanken zur Anwendung. In MySQL oder in SQL Server wurde die NVL
-Funktion durch die Funktion ISNULL
ersetzt. Möchten Sie in Datenbanken NULL-Werte ersetzen, verwenden Sie in SQL Server und MS ACCESS stattdessen die Funktion ISNULL
. In MySQL verwenden Sie wiederum die Funktion IFNULL
oder COALESCE
. Die Funktionsweise bleibt hierbei jedoch identisch.
Lernen Sie die wichtigsten Grundlagen und Anwendungsmöglichkeiten der weitverbreiteten Programmier- und Datenbanksprache SQL kennen. Unsere SQL-Einführung mit Beispielen hilft Ihnen beim Einstieg in SQL.
Unterschied von NVL
, ISNULL
und IFNULL
erklärt
Je nach Art der Datenbank kann es schnell zur Verwechslung zwischen NVL
, ISNULL
und IFNULL
kommen. Die drei Funktionen sind sich sehr ähnlich, jedoch nicht in allen Datenbanken und Datenbankmanagementsystemen verfügbar. Unsere Übersicht hilft Ihnen dabei, die richtige Funktion zu wählen, wenn Sie NULL-Werte ersetzen möchten.
Syntax und Parameter erklärt
Die Funktionen SQL NVL
, ISNULL
und IFNULL
erfordern jeweils zwei Parameter, die wir hier als „Wert1“ und „Wert2“ bezeichnen:
- Wert1: Legt den Datensatz oder die Spalte fest, in der Sie NULL-Werte finden und ersetzen möchten.
- Wert2: Steht für den Wert, um den Sie NULL-Werte in Ihren Zielergebnissen ersetzen möchten. Sie können hier sinnvollere Angaben wie „Keine Angabe“, „0“ oder „Unbekannt“ eintragen, um Lücken und leere Stellen zu beseitigen.
Im Folgenden finden Sie die Syntax für jede der drei Funktionen.
NVL:
NVL(Wert1, Wert2)
sqlISNULL:
ISNULL(Wert1, Wert2)
sqlIFNULL:
IFNULL(Wert1, Wert2)
sqlDie Funktionen kommen in der Regel in Verbindung mit SQL SELECT und FROM
zum Einsatz, mit denen Sie die zu prüfenden Datensätze festlegen.
Unterschiede zwischen SQL NVL, ISNULL und IFNULL
So unterscheiden sich die sehr ähnlichen Funktionen für den Umgang mit NULL-Werten:
SQL-Funktion | Umgang mit NULL-Werten | Kompatibilität |
---|---|---|
SQL NVL
|
Ersetzt gefundene NULL-Werte mit einem gewünschten Wert | Oracle, Db2 |
SQL ISNULL
|
Ersetzt NULL-Werte oder leere Strings um gewünschten Wert | SQL Server, MySQL, MS ACCESS |
SQL IFNULL
|
Ersetzt NULL-Werte um gewünschten Wert und interpretiert Leerzeichen nicht als NULL-Wert | MySQL, Google BigQuery |
Für diese Anwendungsmöglichkeiten eignet sich NVL
Das Ersetzen von NULL-Werten bietet sich für verschiedenste Anwendungsfälle an. Dazu zählen unter anderem:
- Fehlende Kundendaten oder Lieferadressen durch lesbare Werte wie „unbekannt“ ersetzen
- Unbekannte Kontostände oder Transaktionen mit dem numerischen Wert 0 ersetzen
- Leere Werte zu Patientendaten, Finanzdaten oder Produktionsdaten durch Standard- und Durchschnittswerte austauschen
- Fehlende Bewertungen oder nicht vorhandenes Feedback durch „Keine Angabe“ ersetzen
- Fehlende Bilder oder Informationen mit „Bild nicht vorhanden“ oder „Keine Informationen verfügbar“ austauschen
Sie wünschen sich effizientes Datenmanagement mit zuverlässiger Performance, skalierbarer Leistungsfähigkeit und Ausfallsicherheit? Dann nutzen Sie SQL-Server-Hosting von IONOS mit individuellen Server- und Hosting-Angeboten und verlassen Sie sich auf deutschen Datenschutz.
- Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
- Schneller NVMe-SSD-Speicher
- Kostenlose Plesk Web Host Edition
Praktische Beispiele für den SQL NVL
-Operator
Um die Anwendung von NVL
, ISNULL
und IFNULL
zu veranschaulichen, finden Sie im Folgenden jeweils ein praktisches Beispiel anhand einer Kundentabelle mit Spalten zu Adresse, Alter und Kunden-ID. Hierbei möchten wir mögliche NULL-Werte unter „Adresse“ durch den Wert „Keine Angabe“ ersetzen.
Beispiel für SQL NVL
SELECT Adresse, Alter, KundenID, NVL(Adresse, 'Keine Angabe')
FROM kunden
sqlBeispiel für SQL ISNULL
SELECT Adresse, Alter, KundenID, ISNULL(Adresse, 'Keine Angabe')
FROM kunden
sqlBeispiel für SQL IFNULL
SELECT Adresse, Alter, KundenID, IFNULL(Adresse, 'Keine Angabe')
FROM kunden
sqlAlternativen zu SQL NVL
Die Funktionen NVL
, ISNULL
und IFNULL
sind nahezu identisch. Hierbei müssen Sie jedoch darauf achten, ob die jeweilige Funktion in Ihrer Datenbank zur Verfügung steht. Eine weitere, fast identische Alternative unter den SQL-Befehlen ,SQL-Operatoren und Funktionen stellt SQL COALESCE dar. COALESCE
steht in nahezu allen Datenbankanwendungen zur Verfügung und ermöglicht es, gefundene NULL-Werte mit einem Ersatzwert auszutauschen.
Die Syntax ist hierbei ebenfalls identisch:
COALESCE(Wert1, Wert2)
sql