mysql 获取当前月的第一天到昨日的所有日期

SELECT 
	ADDDATE(y.first, x.d - 1) as d
FROM
	(
	SELECT 1 AS d UNION ALL
	SELECT 2 UNION ALL
	SELECT 3 UNION ALL
	SELECT 4 UNION ALL
	SELECT 5 UNION ALL
	SELECT 6 UNION ALL
	SELECT 7 UNION ALL
	SELECT 8 UNION ALL
	SELECT 9 UNION ALL
	SELECT 10 UNION ALL
	SELECT 11 UNION ALL
	SELECT 12 UNION ALL
	SELECT 13 UNION ALL
	SELECT 14 UNION ALL
	SELECT 15 UNION ALL
	SELECT 16 UNION ALL
	SELECT 17 UNION ALL
	SELECT 18 UNION ALL
	SELECT 19 UNION ALL
	SELECT 20 UNION ALL
	SELECT 21 UNION ALL
	SELECT 22 UNION ALL
	SELECT 23 UNION ALL
	SELECT 24 UNION ALL
	SELECT 25 UNION ALL
	SELECT 26 UNION ALL
	SELECT 27 UNION ALL
	SELECT 28 UNION ALL
	SELECT 29 UNION ALL
	SELECT 30 UNION ALL
	SELECT 31
	) x,(SELECT CURDATE() - INTERVAL DAY(CURDATE()) - 1 DAY AS first, DAY(CURDATE())-1 AS yestoday) y
WHERE x.d <= y.yestoday



SQL是把X作为一张临时表(1-31号的穷举),通过Y获取年月日和昨日,关联查询出小于等于昨日的日期全部列举

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值