在两个日期之间从MYSQL数据库获取记录

时间:2014-09-12 23:24:50

标签: php mysql

我有一个检索两个日期之间的记录的查询,使用以下代码在过去的日期工作正常。

SELECT * FROM joborders WHERE closing_date <= ( NOW() - INTERVAL 1 MINUTE ) AND closing_date >= ( NOW() - INTERVAL 11520 MINUTE )

但是,当我想查看将来是否有任何记录时,可以将 - 符号更改为加号,如下所示。

SELECT * FROM joborders WHERE closing_date <= ( NOW() + INTERVAL 1 MINUTE ) AND closing_date >= ( NOW() + INTERVAL 11520 MINUTE )

我没有得到任何结果或任何错误。即使在时间范围内有记录。我已经尝试重写这个,并将加号改为大于等,但我没有做任何改变或只是给出错误信息。

1 个答案:

答案 0 :(得分:0)

获取范围内的日期时间或时间戳值的通用公式是......

 WHERE column >= starting_time
   AND column <  immediately_after_ending_time

您的第二个查询的开始和结束时间相反,因此您不会获得任何匹配的行。你需要这个。

SELECT * 
  FROM joborders
 WHERE closing_date >= ( NOW() + INTERVAL 1 MINUTE )
   AND closing_date <  ( NOW() + INTERVAL 8 DAY )   /* 11520 minutes */