精华内容
下载资源
问答
  • Oracle中nvl

    2013-04-19 15:01:50
    NVL函数 Oracle/PLSQL的一个函数。格式为: NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。 引申一下,此NVL的作用与SQLserver 的 ISNULL...
    NVL函数 Oracle/PLSQL中的一个函数。格式为: 
    NVL( string1, replace_with) 
    功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。 
    引申一下,此NVL的作用与SQLserver 中的 ISNULL( string1, replace_with) 一样。
    注意事项: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) rule_score from zwjc_graderule where rulecode='FWTD'; 不会报错
    编辑本段NVL的扩展-NVL2Oracle在NVL函数的功能上扩展,提供了NVL2函数。 
    NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
    

    展开全文
  • oracle中nvl

    2010-12-16 11:09:00
    我写了这样的一段查询语句: select nvl(MANAGE_PRIZE, 0),nvl(PORT_SUBSIDY, 0),nvl(SUBSIDY_ELSE, 0), (nvl(MANAGE_PRIZE, 0) + nvl(PORT_SUBSIDY, 0) + nvl(SUBSIDY_ELSE, 0)) from pfqs_subsidy ps where ps....

     我写了这样的一段查询语句:

     select nvl(MANAGE_PRIZE, 0),nvl(PORT_SUBSIDY, 0),nvl(SUBSIDY_ELSE, 0),

           (nvl(MANAGE_PRIZE, 0) + nvl(PORT_SUBSIDY, 0) + nvl(SUBSIDY_ELSE, 0))

        from pfqs_subsidy ps

        where ps.userid = 'lvj' and ps.YM = '201011'

    然后action里通过list获取ibatis里查询数据,所有的部署工作都是好的,跳转到页面时却没有任何数据显示,我仔细检查迭代里的字段名称,

    没有任何错误,可为什么就是不显示查询结果呢?按照数据库里的显示,即使没有数据也应该显示0的。

    后来看数据库里的查询表格突然意识到错误原因了,修改后的代码如下:

     

     select nvl(MANAGE_PRIZE, 0)MANAGE_PRIZE,

            nvl(PORT_SUBSIDY, 0)PORT_SUBSIDY,

            nvl(SUBSIDY_ELSE, 0)SUBSIDY_ELSE,

            (nvl(MANAGE_PRIZE, 0) + nvl(PORT_SUBSIDY, 0) + nvl(SUBSIDY_ELSE, 0)) TOTAL 

        from pfqs_subsidy ps where ps.userid = 'lvj' and ps.YM = '201011'

    总结起来,使用nvl或者查询里面套查询时需要别名以方便管理


     

    展开全文
  • oracle中nvlnvl2、nvlliff函数的使用方法

    1.nvl(exp1,exp2);
    作用是如果表达式exp1为空则返回exp2表达式,如果exp1表达式不为空则返回exp1表达式。

    但nvl函数有一个前提条件是两个参数的数据类型要一样,不然会报错误。如下图由于comm是数字类型,所以第二个参数不能是其它类型

    2.nvl2函数语法
    nvl2(exp1,exp2,exp3);这个函数需要有三个参数。它的使用是如果exp1为空则返回exp3,如果exp1不为空则返回exp2。

    但有一点需要注意的是nvl2函数中exp2与exp3数据类型要一样,不然也会报 错
    但nvl2函数另外一点也需要注意,就是当exp2与exp3两个参数数据类型不一样的时候,exp3参数数据类型会转换为exp2数据类型,但前提是可以进行转换才可以,如果不能进行转换是会报错误的

    3.nullif函数语法
    nullif(exp1,exp2);它的作用是如果exp1与exp2两个参数的值相等则返回空,如果不相等则返回exp1,同样两个参数的数据类型也要一样。

    展开全文
  • 原创 Oracle中nvlnvl2这两个函数的区别 ...
    原创

    Oracle中nvl和nvl2这两个函数的区别

    1、nvl(value1,value2)  

    这个函数的意思是如果value1的值为null,那么函数返回value2的值  ,如果value1不为空,那么就返回value1的值。

    需要注意的是value1和value2要保持字段类型相同。

    2、nvl2(value1,value2,value3)  

    这个函数的意思是如果value1的值为null 函数返回value3   否则函数返回value2   也就是说函数永远不会返回value1

    注意的是参数value2 value3可以是除了LONG类型之外的任意数据类型。

    0 个人打赏
    文章最后发布于: 2013-11-07 17:59:47
    展开全文
  • Oracle中NVLNVL2、DECODE函数的用法 Oracle中NVLNVL2、DECODE函数的用法 DECODE函数的用法:  DECODE(value,if1,then1,if2,then2,if3,then3,......,else),表示如果value的值等于if1时...
  • oracle中nvl()的作用

    千次阅读 2018-09-10 15:33:00
    oracle中nvl()的作用 作用:判断某个值是否为空值,若不为空值则输出,若为空值,返回指定值。 详细解释如下: 1、nvl()函数的格式如下:NVL(expr1,expr2); 2、含义是:如果oracle第一个参数为空那么显示...
  • oracle中nvl()函数

    千次阅读 2014-11-13 14:29:21
    oracle中nvl()函数  oraclenvl函数的用法 通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值  select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1 这里关心的nvl的用法,...
  • 列举oracle中nvl、decode、trim、rtrim的常见用法
  • 以前对nvl函数的理解很模糊,今天,终于知道了nvl函数的用法:它主要是对null的处理,因为空值是不能被索引的,所以查询时有些符合条件的数据可能查询不出来。比如下面这张表的数据,如果你要求平均月销售金额(其中...
  • sqlserver 类似oracle中nvl的函数

    千次阅读 2014-06-18 21:18:22
    sqlserver 类似oracle中nvl的函数
  • 1. nvl(expr1,expr2) 函数: 当exp1为空值时返回expr2,当expr1不为空时,返回expr1 2. nvl2(expr1,expr2,expr3)函数: 当expr1为空值 时返回expr2,当expr1不为空时返回expr3... 取expr1到exprn第一个不为空的数 ...
  • oracle中nvl函数

    2019-11-17 21:28:52
    nvl函数专门用来处理空值。 nvl(有可能出现空值的字段,默认值) nvl(param1,param2) 先判断param1是否为空,如果为空则取param2的值。 如果param1不为空,仍然取param1的值。 ...
  • Oracle中NVL2 和NULLIF的用法 NULL指的是空值,或者非法值。 NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致 NVL2 (expr1, expr2, expr3) ->expr1不...
  • nvl(expr1, expr2) 表示:如果expr1为NULL,则nvl返回expr2。如果expr1不是NULL,则nvl返回expr1。 nvl2(expr1, expr2, expr3) 表示:如果expr1不为空,则nvl2返回...https://docs.oracle.com/cd/B19306_01/...
  • Oracle中NVL和ROUND

    2019-10-04 23:24:12
    NVL就是当一个栏位值为空,可以赋特定值 ROUND 是一个可以保留制定位数的函数 表格和几种情况简述 注:为什么这边SQL语句全部是大写 很简单,我用的工具是Toad,读取SQL的时候,会把小写的转化成大写,一是提高...
  • oracle中nvl()函数有什么用啊?  Oracle 专业回答 badkano 2009-02-17 14:30 如果你某个字段为空,但是你想让这个字段显示0 nvl(字段名,0),就是当你选出来的时候,这个字段虽然为空,但是显示...
  • 含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。 2 NVL2函数 NVL2函数的格式如下:NVL2(expr1,expr2, expr3) 含义是:如果该函数的第一个参数...
  • Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。 下面简单介绍一下几个函数的用法。 在...
  • ORACLE中NVL函数及问题解决

    千次阅读 2020-01-17 14:59:04
    1.NVL函数 从两个表达式返回一个非 null 值。 语法 NVL(expression1, expression2) 参数 expression1, expression2 如果 expression1 的计算结果为 null 值,则 NVL( ) 返回 expression2。如果 expression1 的计算...
  • Oracle中NVL函数的用法详解

    千次阅读 2020-02-12 19:08:48
    NVL函数可以用在判断列值是否为空的情况。 1. 如果列值不为空,则返回列值本身的值 2. 如果列值为空,则返回该函数第二个参数的值 函数语法:NVL(参数1,参数2) 举个简单的例子: 列出emp表comm列值不为...
  • 以下的文章主要介绍的是Oracle Nvl函数,本文主要介绍的是其实际应用语法,以及实际应用的参数的介绍,以下就是相关的具体内容的相关描述,希望在你浏览之后会对你今后的学习会有所帮助。 nvl( ) 函数 从两个...
  • Oracle中nvl函数

    2013-01-28 19:58:13
    select nvl(列名,0) from 表名 如果表有为NULL,就替换成0 nvl(a,b) 如果a不为null 则返回a,如果a为null则返回b;   nvl2(a,b,c) ,如果a不为null 则返回b,如果a为null则返回c;

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,669
精华内容 13,067
关键字:

oracle中的nvl