NVL-Funktion Oracle/PLSQL

In diesem Oracle-Lernprogramm wird erläutert, wie Sie die Oracle/PLSQL NVL-Funktion mit Syntax und Beispielen verwenden.

Beschreibung

Die Oracle/PLSQL NVL-Funktion können Sie einen Wert ersetzen, wenn ein Nullwert auftritt.

Syntax

Die Syntax für die NVL-Funktion in Oracle/PLSQL lautet:

NVL( string1, replace_with )

Parameter oder Argumente

string1 Die zu testende Zeichenfolge für einen Nullwert.

replace_with Der zurückgegebene Wert, wenn string1 null ist.

Kehrt zurück

  • Die NVL-Funktion gibt einen Ersatzwert zurück.

Gilt für

Die NVL-Funktion kann in folgenden Versionen von Oracle/PLSQL verwendet werden:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Beispiel

Sehen wir uns einige Oracle NVL-Funktionsbeispiele an und untersuchen Sie, wie Sie die NVL-Funktion in Oracle/PLSQL verwenden.

Zum Beispiel:

Die obige SQL-Anweisung würde ’n/a‘ zurückgeben, wenn das Feld supplier_city einen Nullwert enthält. Andernfalls würde der Wert für supplier_city zurückgegeben.

Ein weiteres Beispiel für die Verwendung der NVL-Funktion in Oracle/PLSQL ist:

Diese SQL-Anweisung würde das Feld supplier_name zurückgeben, wenn der supplier_desc einen Nullwert enthält. Andernfalls würde es das supplier_desc zurückgeben.

Ein letztes Beispiel, das die NVL-Funktion in Oracle/PLSQL verwendet, ist:

Diese SQL-Anweisung würde 0 zurückgeben, wenn das commission feld einen Nullwert enthält. Andernfalls würde es das commission zurückgeben.

Häufig gestellte Fragen

Frage:

Ich habe versucht, die NVL-Funktion über VB zu verwenden, um auf Oracle DB zuzugreifen.

Um genau zu sein,

Ich habe einen Oracle-Fehler, wenn ich distinct-Klausel mit NVL verwende, aber wenn ich distinct entferne, funktioniert es gut.

Antwort:

Es ist möglich, die DISTINCT-Klausel mit der NVL-Funktion zu verwenden. Das DISTINCT muss jedoch vor der Verwendung der NVL-Funktion kommen. Zum Beispiel:

Hoffe das hilft!

Frage:

Ist es möglich, die NVL-Funktion mit mehr als einer Spalte mit demselben Funktionsaufruf zu verwenden? Um klar zu sein, wenn ich diese NVL-Funktion auf mehr als eine Spalte anwenden muss:

Antwort:

Sie müssen für jede Spalte separate NVL-Funktionsaufrufe durchführen. Zum Beispiel: