NVL、NVL2函数

NVL函数是一个空值转换函数。用于把一个空值(NULL)转换成某一个实际的值。

格式如下:

    NVL(表达式1,表达式2)

    如果表达式1为空值(NULL),NVL返回值为表达式2的值,否则返回表达式1的值。

其表达式1和表达式2可以是数字型、字符型或日期型,但表达式1和表达式2的数据类型必须一致。

例如:

    数字型:NVL(comm,0)

    字符型:NVL(TO_CHAR(comm),'No Value')

    日期型:NVL(date,'31-DEC-11')

NVL2函数为Oracle 9i新增加的函数。

格式如下:

    NVL(表达式1,表达式2,表达式3)

    如果表达式1不为空值(NULL),NVL2函数返回值为表达式2的值。

    如果表达式1为空值(NULL),NVL2函数返回值为表达式3的值。

表达式2和表达式3可以是除LONG以外的任何数据类型,表达式1可以是任何数据类型。

如果表达式2和表达式3的数据类型不同,Oracle服务器把表达式3的数据类型转成表达式2的数据类型;此时如果表达式3为空值,Oracle服务器就不进行数据类型转换。

NVL2函数返回值的数据类型与表达式2的数据类型相同。但当表达式2的数据类型为定长字符型CHAR时,NVL2函数返回值的数据类型为变长字符型VARCHAR2。

猜你喜欢

转载自kevin-yangs.iteye.com/blog/2366768
今日推荐