MySQL日期和间隔 - 日期之间的记录

时间:2014-10-31 02:17:01

标签: php mysql

我有一个语法问题,我无法解决。我只想抓住过去3天的所有记录。

$result = mysqli_query($link,"SELECT * FROM records WHERE today BETWEEN CURRENT_DATE AND DATE_ADD(CURRENT_DATE, INTERVAL 3 DAY)");

今天是MySQL时间戳的DB列,看起来像这样:2014-10-30 16:35:58

此查询仅提供1天的结果,而不是3.有人可以帮助解决语法问题吗?

1 个答案:

答案 0 :(得分:4)

DATE_ADD(CURRENT_DATE, INTERVAL 3 DAY)表示 future 中的三天,而不是三天前。除非today列代表(比方说)预定未来约会的日期,否则您通常希望从日期中减去天。所以三天前你需要使用DATE_SUB。我推荐这个查询:

SELECT *
FROM records
WHERE today >= DATE_SUB(CURRENT_DATE, INTERVAL 3 DAY)