zoukankan      html  css  js  c++  java
  • 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个变量。

           

  • 相关阅读:
    Java里的堆(heap)栈(stack)和方法区(method)
    SpringMVC 的 Controller 返回各种视图的处理方式
    Nginx Open File Cache
    HandlerInterceptor与MethodInterceptor
    Mysql的with rollup分组统计功能(5.1以上版本)
    idea中@data不生效
    java中? extends T 和? super T解析
    java8排序
    spring boot gateway自定义限流
    spring boot添加logging不能启动且不报错
  • 原文地址:https://www.cnblogs.com/LeeYZ/p/2953424.html
Copyright © 2011-2022 走看看