`

Oracle中NVL与NVL2 和NULLIF的用法

阅读更多

1.NULL指的是空值,或者非法值。
   NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。 注意两者的类型要一致
   NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
2.NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1

   通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值
3.select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1这里关心的nvl的用法,nvl(arg,value)代表如果前面的arg的值为null那么返回的值为后面的value

4.另一个有关的有用方法
declare
i integer
select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1
这样就可以把获得的合计值存储到变量i中,如果查询的值为null就把它的值设置为默认的1

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics