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

问题描述:

我有一个我无法理清的语法问题。我只是想抓取最近3天的所有记录。今天MySQL日期和时间间隔 - 日期间的记录

$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

'last 3 days' - 你在找'date_sub'吗? - 'DATE_SUB(CURRENT_DATE,INTERVAL 3天)和CURRENT_DATE'之间的差距 – sgeddes 2014-10-31 02:22:27

DATE_ADD(CURRENT_DATE, INTERVAL 3 DAY)意味着三天前在未来,而不是三天前。除非today列应该表示(例如)预定未来约会的日期,否则通常需要从日期减去天。所以三天前,你需要使用DATE_SUB。我推荐这个查询:

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

工作!感谢您的详细解释。非常感谢。 – BradM 2014-10-31 02:25:06