LNNVL-Funktion Oracle/PLSQL

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

Beschreibung

Die Oracle/PLSQL-Funktion LNNVL wird in der WHERE-Klausel einer SQL-Anweisung verwendet, um eine Bedingung auszuwerten, wenn einer der Operanden einen NULL-Wert enthalten kann.

Syntax

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

LNNVL( condition )

Kehrt zurück

Die LNNVL-Funktion gibt Folgendes zurück:

Bedingung wertet nachLNNVL-Rückgabewert
TRUEFALSE
FALSETRUE
UNKNOWNTRUE

Wenn wir also zwei Spalten mit den Namen qty und reorder_level hätten, wobei qty = 20 und reorder_level IS NULL sind, würde die LNNVL-Funktion Folgendes zurückgeben:

BedingungBedingung wertet nachLNNVL-Rückgabewert
qty = reorder_levelUNKNOWNTRUE
qty IS NULLFALSETRUE
reorder_level IS NULLTRUEFALSE
qty = 20TRUEFALSE
reorder_level = 20UNKNOWNTRUE

Gilt für

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

  • Oracle 12c, Oracle 11g, Oracle 10g

Beispiel

Die LNNVL-Funktion kann in Oracle/PLSQL verwendet werden.

Schauen wir uns ein Beispiel an. Wenn wir eine products -Tabelle hätten, die folgende Daten enthielt:

PRODUCT_IDQTYREORDER_LEVEL
100020NULL
2000158
3000810
4000126
500022
600045

Und wir wollten alle Produkte finden, deren Menge unter ihren jeweiligen Neuordnungsebenen lag. Wir würden die folgende SQL-Anweisung ausführen:

Dies würde das folgende Ergebnis zurückgeben:

PRODUCT_IDQTYREORDER_LEVEL
3000810
600045

Wenn wir jedoch die products sehen möchten, die unter ihren reorder_levels waren, sowie NULL-Neuordnungsebenen, würden wir die LNNVL verwenden Funktion wie folgt:

Dies würde das folgende Ergebnis zurückgeben:

PRODUCT_IDQTYREORDER_LEVEL
100020NULL
3000810
600045

In diesem Beispiel enthält dset auch die product_id von 1000, die einen NULL-Wert reorder_level aufweist.