• DB2中的NVL和NVL2函数


    NVL函数是一个空值转换函数

    NVL(表达式1,表达式2)
    

    如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。
    该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型。

    • 对数字型:NVL( a,0);
    • 对字符型:NVL(TO_CHAR(a), 'zifeiy')
    • 对日期型:NVL(mydate,'31-DEC-99')

    实用例子:
    查询某个员工年薪,如果为空则用0代替

    select (sal+nvl(comm,0))*12 from emp where emp.pno=:pno;
    

    这里,comm是未定义的变量,代指数字类型。 nvl返回为0。

    NVL2(表达式1,表达式2,表达式3)
    

    如果表达式1为空,返回值为表达式3的值。如果表达式1不为空,返回值为表达式2的值。
    例如:

    NVL2(comm,'sal+comm',sal)
    

    NVL2函数测试comm
    如果comm为空,就返回sal 的值。如果 comm 不为空(null),就返回表达式 sal+comm的值。

  • 相关阅读:
    P1019 单词接龙
    P1219 八皇后
    Find a way
    P1056 排座椅
    P1067 多项式输出
    关于前缀和,A
    洛谷P1223
    洛谷P1803
    洛谷P1208
    常用方法 Excel转换为DataSet
  • 原文地址:https://www.cnblogs.com/zifeiy/p/8970951.html
Copyright © 2020-2023  润新知