- Kategorien:
NVL2¶
Gibt Werte zurück, abhängig davon, ob die erste Eingabe NULL ist:
Wenn
Ausdruck1
NOT NULL ist, gibt NVL2Ausdruck2
zurück.Wenn
Ausdruck1
NULL ist, gibt NVL2Ausdruck3
zurück.
Syntax¶
NVL2( <expr1> , <expr2> , <expr3> )
Argumente¶
Ausdruck1
Der Ausdruck, der darauf geprüft werden soll, ob er NULL ist.
Ausdruck2
Wenn
Ausdruck1
nicht NULL ist, wird dieser Ausdruck ausgewertet und sein Wert zurückgegeben.Ausdruck3
Wenn
Ausdruck1
NULL ist, wird dieser Ausdruck ausgewertet und sein Wert zurückgegeben.
Nutzungshinweise¶
Alle drei Ausdrücke müssen denselben (oder einen kompatiblen) Datentyp aufweisen.
Sortierungsdetails¶
Die Sortierungsspezifikation für
Ausdruck1
wird ignoriert, da es bei diesem Ausdruck nur darauf ankommt, ob er NULL ist oder nicht.Die Sortierungsspezifikationen für
Ausdruck2
undAusdruck3
müssen kompatibel sein.Der von der Funktion zurückgegebene Wert ist die Sortierung mit dem höchsten Rang von
Ausdruck2
undAusdruck3
.
Beispiele¶
Wenn a
nicht null ist, b
zurückgeben, andernfalls c
:
SELECT a, b, c, NVL2(a, b, c) FROM i2; --------+--------+--------+---------------+ A | B | C | NVL2(A, B, C) | --------+--------+--------+---------------+ 0 | 5 | 3 | 5 | 0 | 5 | [NULL] | 5 | 0 | [NULL] | 3 | [NULL] | 0 | [NULL] | [NULL] | [NULL] | [NULL] | 5 | 3 | 3 | [NULL] | 5 | [NULL] | [NULL] | [NULL] | [NULL] | 3 | 3 | [NULL] | [NULL] | [NULL] | [NULL] | --------+--------+--------+---------------+