我有一个检索两个日期之间的记录的查询,使用以下代码在过去的日期工作正常。
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 )
我没有得到任何结果或任何错误。即使在时间范围内有记录。我已经尝试重写这个,并将加号改为大于等,但我没有做任何改变或只是给出错误信息。
答案 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 */