我正在尝试使用 curdate() 检索我的数据库中的条目,我认为有一些我不知道的基本逻辑。例如:
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 参考手册,但没有找到任何真正的答案。当前时间的某些元素是否可能包含在查询中,或者是否有其他一些业务在闭门造车?