《Oracle的Nvl函数用法.docx》由会员分享,可在线阅读,更多相关《Oracle的Nvl函数用法.docx(3页珍藏版)》请在三一办公上搜索。
1、Oracle的Nvl函数用法Oracle的Nvl函数用法nvl( ) 函数从两个表达式返回一个非 null 值。NVL(eExpression1, eExpression2)eExpression1, eExpression2如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,
2、则 NVL( ) 返回 .NULL.。字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。select nvl(a.name,空得) as name from student a join school b on a.ID=b.ID两个参数得类型要匹配= NVL是如果NULL,则取指定值例:nvl(yanlei777,0) > 0NVL(yanlei777, 0)的意思是 如果yanlei777 是NULL,则取0值通过查询获得某个字段的合计值,如果这个值为nu
3、ll将给出一个预设的默认值例如:select nvl(sum(t.dwxhl),1) from tb_jhde t 就表示如果sum(t.dwxhl) = NULL 就返回 1另一个有关的有用方法declare i integerselect nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1这样就可以把获得的合计值存储到变量i中,如果查询的值为null就把它的值设置为默认的1orcale中:select nvl(rulescore,0) from zwjc_graderule where rulecode=FWTD;如果记录中不存在
4、rulecode =FWTD的数据.则查不出数据.select nvl(rulescore,0) into rule_score from zwjc_graderule where rulecode=FWTD;会报查不到数据的错select nvl(sum(rulescore),0) from zwjc_graderule where rulecode=FWTD;如果记录中不存在rulecode =FWTD的数据.还是可以得到一行列名为nvl(rulescore,0),值为0的数据.select nvl(sum(rulescore),0) into rule_score from zwjc_graderule where rulecode=FWTD; 不会报错=