- Catégories :
NVL2¶
Retourne des valeurs selon que la première entrée est NULL :
Si
expr1
est NOT NULL, alors NVL2 renvoieexpr2
.Si
expr1
est NULL, alors NVL2 renvoieexpr3
.
Syntaxe¶
NVL2( <expr1> , <expr2> , <expr3> )
Arguments¶
expr1
L’expression à vérifier pour savoir s’il s’agit de NULL.
expr2
Si
expr1
n’est pas NULL, cette expression sera évaluée et sa valeur sera renvoyée.expr3
Si
expr1
est NULL, cette expression sera évaluée et sa valeur sera renvoyée.
Notes sur l’utilisation¶
Les trois expressions doivent avoir le même type de données (ou compatibles).
Détails du classement¶
La spécification de classement pour
expr1
est ignorée, car tout ce qui importe dans cette expression est de savoir s’il s’agit ou non d’une propriété NULL.Les spécifications de classement pour
expr2
etexpr3
doivent être compatibles.La valeur renvoyée par la fonction a le classement le plus élevé -préséance parmi
expr2
etexpr3
.
Exemples¶
Si a
n’est pas null, renvoyez b
, sinon renvoyez 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] | --------+--------+--------+---------------+