遇到的问题----sql语句中用sum()函数输出为null
来源:互联网 发布:证券时报 数据宝下载 编辑:程序博客网 时间:2024/06/04 20:04
在SQL语句中使用集合函数count(),返回结果肯定为非负整数,这也是用来判断数据有无的一个很有效的方法;
然后在用sum()进行集合相加的时候,如果sum()的对象没有记录,那么不会返回0,而返回null,这么做,不会影响数据库,因为数值型字段也是可以存放NULL的,因为在执行这样的SQL语句的时候,没有记录也不会报错。
但是执行完之后,要使用这个数据就有问题了。
1、在程序里处理的时候,比如进行四则运算或其他的强类型转换的时候,就会提供类型不正确或是与其它数据相加得到的结果变成NULL,因为NULL+number= Null。
2、统计的结果的SQL语句中有其它的运算,同1的最后一种情况,Null+ number = Null。就会把其它的有效数据也抹杀掉了。
解决方法:
1、使用isnull()方法进行判断,如isnull(sum(cnt),0),其中0为默认值,如果sum(cnt)的结果为null,则赋值 0;同理此方法可用于某字段,isnull(cnt,0),这样就可以排除一些值为null的数值型字段了。而如果这样 isnull(sum(isnull(cnt,0)),0),这样就可保万无一失了。
2、使用case when else流程控制语句,如可以用"case when sum(cnt) is null then 0 else sum(cnt) end"来代替sum(cnt),其中0同上一条的意义相同。
另外求平均函数avg() 也是一样的情况,相同的解决办法
用isnull函数解决:isnull(sum(刷卡金额),0)
- 遇到的问题----sql语句中用sum()函数输出为null
- 关于SQL语句中SUM函数返回NULL的解决办法
- SQL语句中SUM函数返回NULL的解决办法
- 关于SQL语句中SUM函数返回NULL的解决办法
- 关于SQL语句中SUM函数返回NULL的解决办法
- 关于SQL语句中SUM函数返回NULL的解决办法
- 关于SQL语句中SUM函数返回NULL的解决办法
- SQL语句中SUM函数返回NULL的解决办法
- 关于SQL语句中SUM函数返回NULL的解决办法
- sql语句遇到的问题
- [VB.NET]对SQL语句中的WHERE子句中遇到NULL值的参数绑定问题
- mybatis sum函数返回为null的解决方式,格式化小数千分位的问题
- 当sql语句中!=遇到null发生的故事
- MyBatis SQL语句汇总SUM值为Null时会抛出转换异常
- sql查询条件为null的查询语句
- C#编写sql语句遇到的问题
- 遇到的问题---------java判断list为null
- 遇到在html中取值时,值为null的问题
- python join 和 split的详细说明
- How can I use Server.MapPath() from global.asax?
- ExtJs中Grid加载数据的超时时间的设置(作者:贝壳 )
- N圆面积并
- 比尔·盖茨:对于无人机送货,贝佐斯太乐观
- 遇到的问题----sql语句中用sum()函数输出为null
- 关于总线设备驱动的一些想法
- JDK动态代理实现原理
- 使用CodeBlock调试DLL
- V4L2编程
- SVN文件冲突解决方法
- 数据存储简介
- parseFloat()运算符的使用--javascript
- 【数据结构】关于马踏棋盘(8皇后问题)