我有一个带有SQL Server后端的Access前端。
我有一张包含许多记录的表格,其中包含一个简短的列" Observed_date" (yyyy / mm / dd hh:mm:ss)。
我想写一个查询来返回过去7天表中的所有记录(即BETWEEN Date()和Date() - 7)。
我知道我需要放弃"时间"列上的值,所以在我的查询中我执行以下操作:
SELECT INT((table.field)) AS JustDate FROM table;
这只返回表中每条记录的日期值。
但是我接下来要做什么才能获得最近7天的记录?
感谢, 汤姆
答案 0 :(得分:0)
过去7天你不需要between
:
T-SQL
WHERE table.field >= CAST(GETDATE() - 7 AS DATE)
访问SQL
WHERE table.field >= Date() - 7
答案 1 :(得分:0)
这将返回Observed_date
高于或等于当前时间的所有行 - 7天且时间部分设置为午夜:
WHERE
Observed_date >= DATEADD(day, DATEDIFF(d, '1900-01-01', CURRENT_TIMESTAMP) - 7, CAST('00:00:00.000' AS DATETIME2(3)))