文档章节

mysql中sum()函数相减结果为空的处理

Ethel_oo
 Ethel_oo
发布于 04/20 21:22
字数 186
阅读 16
收藏 1

问题描述

我有两张表,一张工资表income,消费表payment,需要SQL查询出某一个人在本月的消费余额。当消费表记录为空或者工资表记录为空时,两个sum()函数相减MySQL显示结果为空值。

问题原因

没有做判断空值的处理。

解决方法

1、先把两张表中的金额字段的默认值设为0。 2、在运算的时候使用ifnull()函数判断是否为空,为空的话设为0值。

SELECT
(
	SELECT
		ifnull(sum(in_amount), 0)
	FROM
		income
	WHERE
		userid = ''
	AND DATE_FORMAT(in_date, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
) - (
	SELECT
		ifnull(sum(pay_amount), 0)
	FROM
		payment
	WHERE
		userid = ''
	AND DATE_FORMAT(pay_date, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
) AS result;

© 著作权归作者所有

共有 人打赏支持
Ethel_oo
粉丝 4
博文 19
码字总数 9928
作品 0
蚌埠
程序员
SQL语句中SUM函数返回NULL的解决办法

SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL。 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例...

红薯
2009/02/12
4.2K
4
关于SQL语句中SUM函数返回NULL的解决办法

SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL。 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例...

Zhao-Qian
2015/06/29
0
0
Mysql日期函数

MySQL 为日期增加一个时间间隔:dateadd() set @dt = now(); select dateadd(@dt , interval 1 day); - 加1天 select dateadd(@dt , interval 1 hour); -加1小时 select dateadd(@dt , inter......

小城故事_
2016/02/26
114
0
mysql加减时间-函数-时间加减

mysql加减时间-函数-时间加减 1. MySQL 为日期增加一个时间间隔:date_add() set @dt = now(); select date_add(@dt, interval 1 day); - 加1天 select date_add(@dt, interval 1 hour); -加......

技术小胖子
2017/11/10
0
0
SQL面试:知识点与技巧

【写在前面】 作为一个无推广的小博主,之前的文章收到了很多读者的热爱,在此多谢大家的支持。最近发现国内剽窃现象很严重啊……如果您对我的文章有兴趣,想要转载请先经过我的同意,要不然...

数据女侠
2017/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部