繁体   English   中英

MySQL 选择动态日期范围

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM