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