我正在使用此函数来过滤超过 60 天的查询结果:
s.timeSubmitted >= ( CURDATE() - INTERVAL 60 DAY )
问题是,“60 天”部分似乎不是一个准确的数字。我希望它在 s.timeSubmitted 超过 60 天的地方进行过滤,精确到 s.timeSubmitted 的秒数。
如何将“60 天”写成精确数字(精确到秒)?
最佳答案
问题是 CURDATE()
返回 DATE
类型,而不是 DATETIME
类型(即时)。从 DATE
中减去一个区间的结果也是 DATE
。
相反,试试这个:
s.timeSubmitted >= ( NOW() - INTERVAL 60 DAY )
这给了你你想要的,因为NOW()
返回一个 DATETIME
,因此减法的结果也是一个 DATETIME
。
关于MySQL "day"- 如何获得准确数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933608/