文档地址:http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions106.htm#SQLRF00685
NVL2
Syntax
Description of the illustrationnvl2.gif
Purpose
NVL2
lets you determine the value returnedby a query based on whether a specified expression is null or notnull. Ifexpr1
is not null, thenNVL2
returnsexpr2
. If expr1
is null, thenNVL2
returnsexpr3
.--函数作用
The argument expr1
can have any datatype. Theargumentsexpr2
andexpr3
can have any datatypesexceptLONG
.
If the datatypes of expr2
andexpr3
are different:
-
If
expr2
is character data, thenOracle Database convertsexpr3
to the datatype ofexpr2
before comparing themunlessexpr3
is a null constant. Inthat case, a datatype conversion is not necessary. Oracle returnsVARCHAR2
in the character set ofexpr2
. -
If
expr2
is numeric, then Oracledetermines which argument has the highest numeric precedence,implicitly converts the other argument to that datatype, andreturns that datatype.