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.

Tipp

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)
sql

ISNULL:

ISNULL(Wert1, Wert2)
sql

IFNULL:

IFNULL(Wert1, Wert2)
sql

Die 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
Tipp

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.

vServer / VPS
Vollständig virtualisiert mit Root-Zugriff
  • 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
sql

Beispiel für SQL ISNULL

SELECT  Adresse, Alter, KundenID, ISNULL(Adresse,  'Keine Angabe')
FROM  kunden
sql

Beispiel für SQL IFNULL

SELECT  Adresse, Alter, KundenID, IFNULL(Adresse,  'Keine Angabe')
FROM  kunden
sql

Alternativen 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
War dieser Artikel hilfreich?
Page top