mysql 怎么得到一个时间距当月底有多少天

mysql 怎么得到一个时间距当月底有多少天,第1张

以下表达式可获取下个月的第一天日期

DATE_FORMAT(ADDDATE(CURDATE(),INTERVAL '1' MONTH),'%Y-%m-01')

这个日期再减去1天就是月底日期。

下面举例获取今天(2017-01-24)到月底的天数:

select DATEDIFF(

DATE_FORMAT(ADDDATE(CURDATE(),INTERVAL '1' MONTH),'%Y-%m-01'),CURDATE())-1

业务背景 :有一张公众号粉丝关注数总表,按照每天汇总关注总数,解读如下:截止到 2022-01-01 公众号关注总数为: 45087

设计思路:

执行结果:

该实现方式,由于当前所在月还未到最后一天,存在无法获取当前月数据情况。经过考虑,使用 max 取每一个月中最大的一天,最终优化sql如下:

1、这里使用inner join 而非where 子查询,涉及到效率执行问题。

获取上个月最后一天

SELECT

date_sub( date_sub( date_format( now(), '%y-%m-%d' ), INTERVAL extract( DAY FROM now()) DAY ), INTERVAL 0 MONTH ) AS date


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8477870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存