我有一个语法问题,我无法解决。我只想抓住过去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.有人可以帮助解决语法问题吗?
答案 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)