- Kategorien:
NVL2¶
Gibt Werte zurück, abhängig davon, ob die erste Eingabe NULL ist:
Wenn Ausdruck
expr1
den Wert NOT NULL hat, gibt NVL2 den Ausdruckexpr2
zurück.Wenn der Ausdruck
expr1
den Wert NULL hat, gibt NVL2 den Ausdruckexpr3
zurück.
Syntax¶
NVL2( <expr1> , <expr2> , <expr3> )
Argumente¶
expr1
Der Ausdruck, der darauf geprüft werden soll, ob er NULL ist.
expr2
Wenn
expr1
nicht NULL ist, wird dieser Ausdruck ausgewertet und sein Wert zurückgegeben.expr3
Wenn
expr1
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
expr1
wird ignoriert, da es bei diesem Ausdruck nur darauf ankommt, ob er NULL ist oder nicht.Die Sortierungsspezifikationen für
expr2
undexpr3
müssen kompatibel sein.Der von der Funktion zurückgegebene Wert ist die Sortierung mit dem höchsten Rang von
expr2
undexpr3
.
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] | --------+--------+--------+---------------+