我尝试在MySQL级别抽象查询一个月的数据,而不必实现一系列条件来确定给定年份中给定月份的最后一天。LAST_DAY()似乎是答案,但它似乎只返回日期,而不是提供的时间。
SELECT LAST_DAY('2011-02-05 23:59:59');
回报
2011-02-28
当我试图在查询中使用它时,我将丢失从该月最后一天起的所有条目,因为没有时间,日期值将不被接受。
SELECT * FROM subscriptions
WHERE (`modified_at` BETWEEN '2014-12-01 00:00:01' AND LAST_DAY('2014-12-01 23:59:59'));
如何修改此查询,以便“最后一天”函数生成一天中的最后一个时间或保留给定的时间?
最佳答案
把逻辑改成忽略时间怎么样?
SELECT *
FROM subscriptions
WHERE `modified_at` >= '2014-12-01' AND
`modified_at` < date_add('2014-12-01', interval 1 month)
这不需要
last_day()
。关于php - MySQL查询,日期范围正好是1个月,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32598806/