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

  • 相关阅读:
    LINUX 系统性能检测工具vmstat
    ebs 初始化登陆
    oracle 以SYSDBA远程连接数据库
    ORACLE hint
    ORACLE CACHE BUFFER CHAINS原理
    oracle 当月日历的sql
    oracle to_char处理日期
    EBS 抓trace 文件
    oracle 执行计划的获取方法
    linux ln用法
  • 原文地址:https://www.cnblogs.com/jasonboren/p/10900757.html
Copyright © 2011-2022 走看看