最近在修改项目中一个统计的bug,统计出的钱数不对,因为不是自己开发的模块,经过分析流程找到了统计的sql。

sum(f_msmoney)+sum(f_fkmoney) as total,

上面这段是计算钱数的sql,看上去没有什么问题,但是sql查出来的total值居然是null,然后开始检查表结构和数据,发现两个字段类型为VARCHAR2且有一个有值,另一个字段为空。起初先验证是不是数据类型不是NUMBER不能进行计算,但很快我的想法被否认了,我用to_number对字段进行转换,查询结构依旧为null。接下来就开始验证是不是null在作怪,结果是肯定,当两个值都不为空是可以计算出结果,当有一个是null时,sum()后再相加,最终结果也是null。

OK,问题找到,开始解决问题。

其实解决这个问题的办法也不少,下来一个一个来分析:

第一种方案,修改下数据库字段类型,设置默认值。但是项目已处于后期测试阶段,贸然修改数据结构不太妥,如果是项目初期可以考虑。

第二种方案,庆幸的是oracle有nvl(,0)这个函数,具体作用就是判断字段是不是null,如果是就返回传入的默认值。其实是也就是在sql中获取时设置默认值,这种方式比较符合项目的目前的状况,于是采用这种方法完美解决。

好了,一个小问题已经解决,在这里记录下,看到问题的同学有更好的方法欢迎留言分享。

oracle中nvl()函数

oracle中nvl()函数  oracle的nvl函数的使用方法 通过查询获得某个字段的合计值,假设这个值位null将给出一个预设的默认值  select nvl(sum(t.dwxhl),1) f ...

oracle中nvl函数用法

1.返回两个字段中非空字段的值,第一个字段非空,返回第一个字段的值,第二个字段值为null,则返回第二个字段的值,如果都为null 则返回null. select nvl(a,b) from tabl ...

Mysql中类似于oracle中nvl()函数的ifnull()函数

IFNULL(expr1,expr2)  如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境.  my ...

oracle的nvl函数的使用解析

Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值. 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpre ...

Oracle中REGEXP_SUBSTR函数(转)

Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','2 ...

Oracle中nvl()、instr()、及执行多条sql事务操作

Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值. 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpre ...

Oracle中REGEXP_SUBSTR函数(字符串转多行)

Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下: 在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20',' ...

Oracle中REGEXP_SUBSTR函数

Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下: 在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20',' ...

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...

随机推荐

[参考]wget下载整站

wget -m -e robots=off -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/200 ...

巧用margin/padding的百分比值实现高度自适应(多用于占位,避免闪烁)

本文依赖于一个基础却又容易混淆的css知识点:当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!也许你会说, ...

Spring @Transactional propagation 各个属性值的含义

REQUIRED:业务方法需要在一个容器里运行.如果方法运行时,已经处在一个事务中,那么加入到这个事务,否则自己新建一个新的事务. NOT_SUPPORTED:声明方法不需要事务.如果方法没有关联到一 ...

X Window、GNOME和KDE之间的关系

oracle里面的nvl,oracle中nvl函数相关推荐

  1. oracle里面的long,long raw,raw,clob,blob区别

    ORACLE LOB类型提供了BFILE.BLOB.CLOB.NCLOB让我们来存储最大尺寸有4G的无结构的数据块(例如:文本.图像.声音和视频等).并且它们右以以高效的.任意的和分段操作的方式存取数 ...

  2. oracle里面的锁,基于oracle中锁的深入理解

    ORACLE里锁有以下几种模式:0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share 共享锁(S):阻止其他DML操作 ...

  3. oracle里面的terminate,c++  ooci  oracle中的ResultSet详解

    这篇文章并没有给出如何使用ResultSet的具体例子,只是从ResultSet的功能性上进行了详细的讲述.希望这篇文章对大家理解ResultSet能够有所帮助.下面就是这篇文章的具体内容. 结果集( ...

  4. oracle实现mysql的if_oracle中decode函数 VS mysql中的if函数和case函数

    oracle中有decode函数,如下: select sum(decode(sex,'男',0,1)) 男生数 from school: 统计男生数目,含义为:decode()中sex字段为男时,用 ...

  5. oracle的date_add,SQL Server 中add函数到 oracle date add的操作

    SQL Server 中add函数到 oracle date add的操作 oracle date add minutes How does one add a day/hour/minute/sec ...

  6. python里删除range里的数字_python中range函数与列表中删除元素

    一.range函数使用 range(1,5)   代表从1到4(不包含5),结果为:1,2,3,4   ,默认步长为1 range(1,5,2)   结果为:1, 3  (同样不包含5) ,步长为2 ...

  7. oracle里的listagg,oracle中的listagg函数

    listagg()用于字符串聚集 LISTAGG(XXX--要合并的列,XXX--分隔符) WITHIN GROUP( ORDER BY XXX) over(partition by XXX) 需要注 ...

  8. oracle里的concat,oracle 中的 CONCAT,substring ,MINUS 用法

    有的时候,我们有需要将由不同栏位获得的资料串连在一起.每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: + C ...

  9. oracle里的定时器,oracle中创建定时器

    --创建定时器 CREATE OR REPLACE PROCEDURE P_TEST_JOB IS --判断任务是否已被创建,若任务被创建过,则 isExist > 0 isExist NUMB ...

最新文章

  1. linux驱动:i2c驱动(二)
  2. 唐人街探案3观后感:大四学生的看法
  3. maven 安装m2e 报错
  4. java 录音_用JAVA实现不限时录音功能
  5. 阻碍企业数字化转型的十个“拦路虎”
  6. 【跨域问题】Vue简单封装axios—解决post请求后端接收不到参数问题
  7. Music Game
  8. Linux头文件引用小技巧
  9. Error information: “Error: SignerSign() failed.“ (-2147012889/0x80072ee7)
  10. 10月8日提交的结对编程工程中的经验和教训
  11. sfr测试图像清晰度 C 语言,SFR分辨率测试卡的不足和改进
  12. 2022.9.19 论文笔记
  13. Ubuntu上成功安装永中office2009
  14. Linux内核kconfig调用关系,探索Linux内核:Kconfig的秘密
  15. 数学分析教程(科大)——2.6笔记+习题
  16. postman接口导入
  17. GNU Radio Pythpn
  18. 蚂蚁的愤怒之源(落日余晖)-终结篇
  19. CSS反爬获取伪元素的值
  20. MES系统是什么?如何搭建一个科学高效的MES报表系统?

热门文章

  1. java nextint括号_Java中关于nextInt()、next()和nextLine()的理解
  2. Java:Scanner中的nextInt()方法
  3. 【多目标优化与进化计算】比较算法性能的三个指标IGD RPSP CPSP
  4. git 拉取远程项目到本地
  5. 树莓派4B评测 值不值得买
  6. idea创建maven项目 [超详细]
  7. Ubuntu--(8)段错误Segmentation fault (core dumped)
  8. php5.4.41 绿色_护卫神php套件5.4.41下载
  9. oracle数据库去掉某字段当中中文里面存在的空格
  10. 双色Hanoi塔问题