[英]MySQL Selecting Dynamic Date Range
我有一个datetime
列,我想选择前 2 个完整月份(目前是 9 月和 10 月)中的所有行。 我可以手动将这个查询写成:
where date_column between '2018-09-01' and '2018-10-31'
但是如何以编程方式执行此操作,以便结束日期始终正确? 我刚在想
where date_column between concat(substr(now() - INTERVAL 2 month, 1, 7), '-01') and concat(substr(now() - INTERVAL 1 month, 1, 7), '-31')
但是31
对于 11 月、2 月等来说是不正确的。
您可以格式化日期并将日期硬编码为 1:
date_column BETWEEN
DATE_FORMAT(NOW() - INTERVAL 2 MONTH, '%Y-%m-01') AND
DATE_FORMAT(NOW(), '%Y-%m-01')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.