NVL函数 Oracle/PLSQL中的一个函数。

  格式为:

  NVL( string1, replace_with)

  功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。

  注意事项:string1和replace_with必须为同一数据类型,除非显示的使用TO_CHAR函数。

  例:NVL(TO_CHAR(numeric_column), 'some string') 其中numeric_column代指某个数字类型的值。

  例:nvl(yanlei777,0) > 0

  NVL(yanlei777, 0) 的意思是 如果 yanlei777 是NULL, 则取 0值

  通过查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值

  例如:

  select nvl(sum(t.dwxhl),1)

  from tb_jhde t

  就表示如果sum(t.dwxhl) = NULL 就返回 1

  另一个有关的有用方法

  declare i integer

  select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1这样就可以把获得的合计值存储到变量

  i中,如果查询的值为null就把它的值设置为默认的1

  oracle中:

  select nvl(rulescore,0) from zwjc_graderule where rulecode='FWTD';

  如果记录中不存在rulecode ='FWTD'的数据.则查不出数据.

  select nvl(rulescore,0) into rule_score from zwjc_graderule where rulecode='FWTD';会报查不到数据的错

  select nvl(sum(rulescore),0) from zwjc_graderule where rulecode='FWTD';

  如果记录中不存在rulecode ='FWTD'的数据.还是可以得到一行列名为nvl(rulescore,0),值为0的数据.

  select nvl(sum(rulescore),0) into rule_score from zwjc_graderule where rulecode='FWTD'; 不会报错

NVL的扩展-NVL2

  Oracle在NVL函数的功能上扩展,提供了NVL2函数。

  NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

nvl 与 nvl2的更多相关文章

  1. NVL 和NVL2函数

    NVL 和NVL2函数 NVL函数: nvl(exp1,exp2) -->判断exp1是否是null,如果exp1不是则返回exp1的值,如果exp1为null则返回exp2 nvl2函数: n ...

  2. ORACLE——NVL()、NVL2() 函数的用法

    NVL和NVL2两个函数虽然不经常用,但是偶尔也会用到,所以了解一下. 语法: --如果表达式1为空则显示表达式2的值,如果表达式1不为空,则显示表达式1的值 NVL(表达式1,表达式2); --如果 ...

  3. oracle nvl和nvl2的区别

    一直用oracle nvl函数,最近发现还有一个nvl2函数: nvl(a,b) 如果a不为null 则返回a,如果a为null则返回b; nvl2(a,b,c) ,如果a不为null 则返回b,如果 ...

  4. 【Oracle】nvl与nvl2对比

    1.nvl(v1,v2),只要v1为null,即将值变为v2. pay(类型):number; 在执行 nvl(pay_type,'null') 函数的时候会提示无效数字,可能是nvl函数会自动将其转 ...

  5. Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解

    NVL(EXPR1,EXPR2) NVL2(EXPR1,EXPR2,EXPR3) NULLIF(EXPR1,EXPR2) COALESCE(EXPR1,,..,EXPRn) decode ------ ...

  6. Orcale的NVL、NVL2函数和SQL Server的ISNULL函数

    Orcal 的 nvl函数 NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值,Expr1,Expr2都为NULL则返回NULL NVL2(Expr1 ...

  7. oracle函数NVL,NVL2和NULLIF之间的区别和使用

    oracle用这么几个函数,可以帮助我们解决数据上null或0的处理 1.NVL()函数 1.1)介绍:NVL(expr1,expr2),若expr1为null, 返回expr2; 不为null,返回 ...

  8. ORACLE NVL 和 NVL2 函数的使用

    NVL函数是一个空值转换函数,在SQL查询中主要用来处理null值.在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值. Oracle在 ...

  9. Oracle NVL与NVL2函数

    nvl( ) 函数 从两个表达式返回一个非 null 值. 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如果 eE ...

随机推荐

  1. ArcGIS案例学习笔记-查找重叠的多边形

    ArcGIS案例学习笔记-查找重叠的多边形 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于多边形图层,查找具有重叠(相互覆盖)的面 数据: 方法: 1. ...

  2. 修改maven项目的编译版本

    在pom.xml中添加如下代码 <build> <!-- 配置了很多插件 --> <plugins> <plugin> <groupId>o ...

  3. platform 系统是windows还是liunx

    import platform # 判断当前代码运行的系统是windows还是liunx print(platform.architecture()) print(platform.platform( ...

  4. Linux下修改tab建为4个空格

    1.编辑 vim /etc/vim/vimrc 2.修改 set ts=4 set expandtab set autoindent 其实只要set ts=4 就ok了.

  5. 大型运输行业实战_day01_1_业务分析

    1.业务分析 发展历史:  上车收费-->车站买票(相当于先收钱后上车)-->站务系统--->联网售票 2.项目结构 3.开发流程分析 1.业务分析            图文并茂  ...

  6. propTypes

    [propTypes] React.PropTypes is deprecated as of React v15.5. Please use the prop-types library inste ...

  7. SXSSExcelUtil

    package com.numa.util; import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.util ...

  8. appium的兼容问题

    appium 和Android7.0的兼容问题 标签(空格分隔): appium 随着Android系统的不断的迭代更新,目前Android系统都已经更新到9.0系统了,有些小伙伴appium版本还是 ...

  9. linux删除历史操作命令

    有时候在系统中做了任何操作,但不想被别人知道,毕竟系统别人都可以登入查看,那怎么把自己操作系统的历史命令删除而不让别人知晓呢? 在linux系统里一旦操作了任何命令,都会被记录下来,可以通过histo ...

  10. JMeter学习(五)集合点(转载)

    转载自 http://www.cnblogs.com/yangxia-test JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现. JMeter里面的集合点通过添加定时器 ...