Oracle
 sql >> Datenbank >  >> RDS >> Oracle

NVL()-Funktion in Oracle

In der Oracle-Datenbank die NVL() Funktion ermöglicht es uns, Nullwerte durch einen anderen Wert zu ersetzen.

Syntax

Die Syntax lautet wie folgt:

NVL(expr1, expr2)

Wenn expr1 null ist, dann expr2 ist zurück gekommen. Sonst expr1 zurückgegeben wird.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

SELECT NVL(null, 'Fish')
FROM DUAL;

Ergebnis:

Fish

Und Folgendes passiert, wenn das erste Argument kein Nullwert ist:

SELECT NVL('Brocoli', 'Fish')
FROM DUAL;

Ergebnis:

Brocoli

Ungültige Argumentanzahl

Der Aufruf der Funktion ohne Übergabe von Argumenten führt zu einem Fehler:

SELECT NVL()
FROM DUAL;

Ergebnis:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

Und das Übergeben zu vieler Argumente verursacht auch einen Fehler:

SELECT NVL(1, 2, 3)
FROM DUAL;

Ergebnis:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

Der NVL2() Funktion

Alternativ können Sie auch NVL2() verwenden Funktion, mit der Sie einen anderen Wert angeben können, der zurückgegeben werden soll, falls das erste Argument nicht null ist.