2013-06-28 65 views
8

我想从我的表格中选择所有记录的日期(datetime mysql格式YYYY-MM-DD HH:MM:SS)在过去的24小时内。我有一个查询,但它并不完全工作在过去24小时内选择记录和日期

SELECT * FROM `my_table` WHERE date > DATE_SUB(NOW(), INTERVAL 24 HOUR) 

为什么它返回像那样的日期2013-07-01 12:00:00。我将如何做到这一点?谢谢。

+0

您要求它返回大于24小时前的所有日期。 7月份比24小时前大。也许你正在考虑BETWEEN? – Strawberry

回答

18

您的日期已经有一个下限,但由于您的表格可能有未来的日期,您还需要一个上限。这应该工作:

SELECT * 
FROM my_table 
WHERE date > DATE_SUB(NOW(), INTERVAL 24 HOUR) 
    AND date <= NOW() 
0

的mysql:

SELECT * FROM MY_TABLE WHERE日期> = NOW() - 间隔24小时;

相关问题