在SmallDateTime(SQL)表上访问最近7天的查询结果

时间:2016-02-17 14:18:17

标签: sql sql-server ms-access

我有一个带有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天的记录?

感谢, 汤姆

2 个答案:

答案 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)))