Oracle的数值处理函数之 ------ 空值置换函数

     Oracle中NULL值不能用于计算。NULL与0不同,应当把NULL看作是一个未知值或无关的,NULL不能进行计算,所以所的结果永远为NULL。

     在某些情况下,我们可以对NULL值进行合理的假设,在进行计算时对其进行处理。

     NVL:空值转换函数

     格式:NVL(value,substitute)

           如果value为NULL,则函数等于substitute。如果value不为NULL,则函数等于value的值。注意substitute可以是一个数字、另一列或一个计算结果。

     select NVL(age,18) from userInfo;

     age为NULL返回18,否则返回age的值。

     NVL不只限于数值,虽然它也能用于CHAR、VARCHAR2、DATE和其他数据类型,但是value和substitute必须为相同的数据类型。另外,只有在数据是未知的而不是无关的情况下,NVL才是有用的。

       一个类似的函数是NVL2,它相对复杂一些。

      格式:NVL2(expr1,expr2,expr3)

              在NVL2中,expr1永远不会被返回,返回值是expr2或expr3。如果expr1不为NULL,则NVL2返回expr2。如果expr1为NULL,则NVL2返回expr3。参数expr1可以是任意数据类型。参数expr2和    expr3可以是除LONG以外的任意数据类型。

              对于BINARY_FLORT和BINARY_DOUBLE数据类型可以使用NANVL函数。NANVL接收两个变量,并且当第1个变量不是数字时返回第2个变量。

       

转载于:https://www.cnblogs.com/LeeYZ/archive/2013/03/11/2953424.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值