oracle中nvl()函数

zgxzowen 2011-02-23

oracle的nvl函数的用法

通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值

selectnvl(sum(t.dwxhl),1)fromtb_jhdetwherezydm=-1

这里关心的nvl的用法,nvl(arg,value)代表如果前面的arg的值为null那么返回的值为后面的value

如: NVL(a,b)就是判断a是否是NULL,如果不是返回a的值,如果是返回b的值 通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值

另一个有关的有用方法

declare

iinteger

selectnvl(sum(t.dwxhl),1)intoifromtb_jhdetwherezydm=-1

这样就可以把获得的合计值存储到变量i中,如果查询的值为null就把它的值设置为默认的1

Oracle下Nvl函数 nvl( ) 函数 从两个表达式返回一个非 null 值。

语法

NVL(eExpression1,eExpression2)

参数

eExpression1,eExpression2

如果eExpression1的计算结果为null值,则NVL()返回eExpression2。如果eExpression1的计算结果不是null值,则返回eExpression1。eExpression1和eExpression2可以是任意一种数据类型。如果eExpression1与eExpression2的结果皆为null值,则NVL()返回.NULL.。

返回值类型

字符型、日期型、日期时间型、数值型、货币型、逻辑型或null值

说明

在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。 select nvl(a.name,'空得') as name from student a join school b on a.ID=b.ID 注意:两个参数得类型要匹配

相关推荐