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.可有人帮忙语法问题?
答
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
'last 3 days' - 你在找'date_sub'吗? - 'DATE_SUB(CURRENT_DATE,INTERVAL 3天)和CURRENT_DATE'之间的差距 – sgeddes 2014-10-31 02:22:27