带有日期比较的SQL请求

时间:2016-02-23 16:59:48

标签: mysql sql datetime dateinterval

我的请求和日期栏都有问题。

这是我的表event

  • id(int,pk,ai)
  • 日期(日期时间)
  • location(char)
  • link(char)

我想在我的页面上显示6个事件。与今天的日期相比,最后3个,接下来的3个。但我的要求并不奏效。

我想我必须使用betweennow()datediff,但mysql会向我发送语法错误。

SELECT * 
FROM events
WHERE (date BETWEEN DATEDIFF(NOW() - 3 days) AND NOW()) 
   OR (date BETWEEN DATEDIFF(NOW() + 3 days) AND NOW())
ORDER BY date DESC 
LIMIT 0, 6
你能帮帮我吗?

1 个答案:

答案 0 :(得分:2)

DATEDIFF返回两个时间点之间的时间差。所以在昨天和今天之间,DATEDIFF可能是24小时。您可能会告诉它返回24到2016-02-23之间的日期。这没有多大意义。我想你打算使用DATE_ADD。