我正在运行查询以获取介于特定日期之间的行(本示例中为当前日期和 7 天前)。
我试着把它写成:
SELECT *
FROM faulttracker.ft_v_cases
WHERE DATE(cs_created) BETWEEN DATE(NOW()) AND DATE(NOW()-INTERVAL 7 DAY)
ORDER BY cs_created DESC;
但它返回了 0 行。我不明白为什么它不起作用,我尝试将其重写为:
SELECT *
FROM faulttracker.ft_v_cases
WHERE DATE(cs_created) <= DATE(NOW())
AND DATE(cs_created) >= DATE(NOW()-INTERVAL 7 DAY)
ORDER BY cs_created DESC;
哪个确实有效。
为什么第一个返回 0 行但第二个按预期工作?据我所见,它们在功能上应该是等效的。
cs_created 是一个日期时间。