zoukankan      html  css  js  c++  java
  • oracle函数nvl,nvl2的区别,nullif函数,coalesce函数

    在oracle中用nvl和nvl2函数来解决为空的情况,例如,如果奖金为空,则为它指定一个数。也就是nvl(奖金字段,指定的奖金),但是两个的类型要一致。

    1)nvl()函数

    SQL> select comm,nvl(comm,111) from emp;如果comm为空,则将它设置为111;

    2)nvl2()函数(类似三目运算符)

    SQL> select comm,nvl2(comm,666,555)from emp;如果comm不为空返回666,为空返回555,如果第二个参数和第三个参数类型不同,则,第三个参数会自动转为第二个参数的类型。

    nvl和nvl2都可以用来处理字段为空的情况,nvl2比nvl的功能更加强大,而且nvl的两个参数类型必须一致,如果不一致则会出现错误,而nvl2的参数可以不同,如果第二个参数和第三个参数类型不同,则,第三个参数会自动转为第二个参数的类型。

    nullif()函数用于判断两个字段是否相等,相同返回空值,不同返回第一个参数。

    SQL> select nullif(1,1)from dual;

    -----------

    3)NULLIF(1,1)

    SQL> select nullif(1,0)from dual;

    NULLIF(1,0)
    -----------
    1

     4)coalesce()函数

      coalesce()函数返回第一个不为空的值,例如

    SQL> select coalesce(null,1,4) from dual;

    COALESCE(NULL,1,4)
    ------------------
    1

    SQL> select coalesce(null,null,4) from dual;

    COALESCE(NULL,NULL,4)
    ---------------------
    4

    SQL> select coalesce(1,null,4) from dual;

    COALESCE(1,NULL,4)
    ------------------
    1

  • 相关阅读:
    ubuntu下文件安装与卸载
    webkit中的JavaScriptCore部分
    ubuntu 显示文件夹中的隐藏文件
    C语言中的fscanf函数
    test
    Use SandCastle to generate help document automatically.
    XElement Getting OuterXML and InnerXML
    XUACompatible meta 用法
    Adobe Dreamweaver CS5.5 中文版 下载 注册码
    The Difference Between jQuery’s .bind(), .live(), and .delegate()
  • 原文地址:https://www.cnblogs.com/jasonboren/p/10900757.html
Copyright © 2011-2022 走看看