oracle的nvl函数的使用方法
通过查询获得某个字段的合计值,假设这个值位null将给出一个预设的默认值
select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1
这里关心的nvl的使用方法,nvl(arg,value)代表假设前面的arg的值为null那么返回的值为后面的value
如: NVL(a,b)就是推断a是否是NULL,假设不是返回a的值。假设是返回b的值 通过查询获得某个字段的合计值,假设这个值位null将给出一个预设的默认值
还有一个有关的实用方法
declare
i integer
select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-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 注意:两个參数得类型要匹配 问:什么是NULL? 答:在我们不知道详细有什么数据的时候,也即未知,能够用NULL, 我们称它为空,ORACLE中,含有空值的表列长度为零。
ORACLE同意不论什么一种数据类型的字段为空。除了下面两种情况: