zoukankan      html  css  js  c++  java
  • Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用

    首先注意空(null)值,空值任何值都是空值,空值任何值也都是空值,依此类推。

    1.NVL函数

    NVL函数的格式如下:NVL(expr1,expr2)

    含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

    eg:

    select NVL(null,'ok') from dual  --the result is 'ok'
    select NVL('something','ok') from dual  --the result is 'something'

    2 NVL2函数

    NVL2函数的格式如下:NVL2(expr1,expr2, expr3)

    含义是:如果该函数的第一个参数为空那么显示第三个参数的值,如果第一个参数的值不为空,则显示第二个参数的值。

    eg:

    select NVL2(null,'ok1','ok2') from dual   --the result is 'ok2'
    select NVL2('something','ok1','ok2') from dual  --the result is 'ok1'

    3. NULLIF函数

    NULLIF(exp1,expr2)函数的作用是如果exp1和exp2相等则返回空(NULL),否则返回第一个值。

    eg:

    select NULLIF(1,1) from dual   --the result is '' 
    select NULLIF(1,2) from dual   --the result is '1'

    4.Coalesce函数

    Coalese函数的作用是的NVL的函数有点相似,其优势是有更多的选项。

    格式如下:

    Coalesce(expr1, expr2, expr3….. expression_n)

    依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。如果第一个参数为空,则看第二个参数是否是空,否则则显示第一个参数,如果第二个参数是空再看第三个参数是否为空,否则显示第二个参数,依次类推,这个函数实际上是NVL的循环使用。

    eg:

    select COALESCE(null,1,2,3) from dual   --the result is '1'
    select COALESCE(null,null,2,3) from dual    --the result is '2'
    select COALESCE(null,null,null,3) from dual   --the result is '3'
    select COALESCE(null,1,null,2) from dual      --the result is '1'

  • 相关阅读:
    【洛谷P3992】开车
    Easyui datagrid+ashx 实现动态生成列
    SQL字符串处理函数大全
    在sqlserver中查找某个字段存在于那个表中的语句
    C# 合并图片
    JavaScript 监听屏幕滑动事件的JS
    JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)
    使用jquery插件实现图片延迟加载技术
    DataTable随机复制一行给新的DataTable
    MySQL恢复数据报错 #1289 The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to hav
  • 原文地址:https://www.cnblogs.com/programsky/p/3829237.html
Copyright © 2011-2022 走看看