0
我试图使用curdate()检索我的数据库中的条目,我认为有一些我不知道的底层逻辑。例如:curdate()如何在MySQL中进行比较
SELECT * FROM foo WHERE event='bar'
AND created_at >= SUBDATE(CURDATE(), 90)
AND created_at <= CURDATE()
此调用返回前90天,但它没有任何今天的条目。据我所知,curdate()只有YYYY-MM-DD或YYYYMMDD,完全忽略了一天中的时间,我们将它保存为curtime()和now()。我怀疑时间正在被包含在这里的某处,因为当我在Rails中进行类似的调用并将日期作为DateTime.beginning_of_day传递时,它可以工作,而任何其他方式在今天不会包含某个小时。
我已经检出了一些源代码,包括MySQL参考手册,并没有提出任何真正的答案。当前时间的某些元素是否可能包含在查询中,或者是否有其他业务正在关闭?
1:有疑问时,检查列的数据类型 - MySQL有DATE和DATETIME。 – 2011-01-31 19:00:28