oracle里面的nvl,oracle中nvl函数
最近在修改项目中一个统计的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函数相关推荐
- oracle里面的long,long raw,raw,clob,blob区别
ORACLE LOB类型提供了BFILE.BLOB.CLOB.NCLOB让我们来存储最大尺寸有4G的无结构的数据块(例如:文本.图像.声音和视频等).并且它们右以以高效的.任意的和分段操作的方式存取数 ...
- oracle里面的锁,基于oracle中锁的深入理解
ORACLE里锁有以下几种模式:0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share 共享锁(S):阻止其他DML操作 ...
- oracle里面的terminate,c++ ooci oracle中的ResultSet详解
这篇文章并没有给出如何使用ResultSet的具体例子,只是从ResultSet的功能性上进行了详细的讲述.希望这篇文章对大家理解ResultSet能够有所帮助.下面就是这篇文章的具体内容. 结果集( ...
- oracle实现mysql的if_oracle中decode函数 VS mysql中的if函数和case函数
oracle中有decode函数,如下: select sum(decode(sex,'男',0,1)) 男生数 from school: 统计男生数目,含义为:decode()中sex字段为男时,用 ...
- 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 ...
- python里删除range里的数字_python中range函数与列表中删除元素
一.range函数使用 range(1,5) 代表从1到4(不包含5),结果为:1,2,3,4 ,默认步长为1 range(1,5,2) 结果为:1, 3 (同样不包含5) ,步长为2 ...
- oracle里的listagg,oracle中的listagg函数
listagg()用于字符串聚集 LISTAGG(XXX--要合并的列,XXX--分隔符) WITHIN GROUP( ORDER BY XXX) over(partition by XXX) 需要注 ...
- oracle里的concat,oracle 中的 CONCAT,substring ,MINUS 用法
有的时候,我们有需要将由不同栏位获得的资料串连在一起.每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: + C ...
- oracle里的定时器,oracle中创建定时器
--创建定时器 CREATE OR REPLACE PROCEDURE P_TEST_JOB IS --判断任务是否已被创建,若任务被创建过,则 isExist > 0 isExist NUMB ...
最新文章
- linux驱动:i2c驱动(二)
- 唐人街探案3观后感:大四学生的看法
- maven 安装m2e 报错
- java 录音_用JAVA实现不限时录音功能
- 阻碍企业数字化转型的十个“拦路虎”
- 【跨域问题】Vue简单封装axios—解决post请求后端接收不到参数问题
- Music Game
- Linux头文件引用小技巧
- Error information: “Error: SignerSign() failed.“ (-2147012889/0x80072ee7)
- 10月8日提交的结对编程工程中的经验和教训
- sfr测试图像清晰度 C 语言,SFR分辨率测试卡的不足和改进
- 2022.9.19 论文笔记
- Ubuntu上成功安装永中office2009
- Linux内核kconfig调用关系,探索Linux内核:Kconfig的秘密
- 数学分析教程(科大)——2.6笔记+习题
- postman接口导入
- GNU Radio Pythpn
- 蚂蚁的愤怒之源(落日余晖)-终结篇
- CSS反爬获取伪元素的值
- MES系统是什么?如何搭建一个科学高效的MES报表系统?
热门文章
- java nextint括号_Java中关于nextInt()、next()和nextLine()的理解
- Java:Scanner中的nextInt()方法
- 【多目标优化与进化计算】比较算法性能的三个指标IGD RPSP CPSP
- git 拉取远程项目到本地
- 树莓派4B评测 值不值得买
- idea创建maven项目 [超详细]
- Ubuntu--(8)段错误Segmentation fault (core dumped)
- php5.4.41 绿色_护卫神php套件5.4.41下载
- oracle数据库去掉某字段当中中文里面存在的空格
- 双色Hanoi塔问题