4

从 SQL Server 2016 开始,可以自动创建临时表。我想创建一个简单的查询来检索指定日期的数据。但是,当我尝试像这样在查询中指定日期时,会出现语法错误:

SELECT * FROM Person FOR SYSTEM_TIME AS OF GETDATE()

我什至尝试将数据类型转换为 datetime2,因为日期是这样存储的,但它仍然不起作用:

SELECT * FROM Person FOR SYSTEM_TIME AS OF CONVERT(datetime2,GETDATE())

出现此问题,但是当我第一次执行SELECT GETDATE()然后复制文本并将其粘贴到查询中时,它工作正常。如何使用 AS OF 关键字指定日期时间?

提前致谢。

4

1 回答 1

3

尝试这个:

DECLARE @Date DATETIME2 = GETUTCDATE()

SELECT * 
FROM Person
FOR SYSTEM_TIME AS OF @Date

此外,请查看本文以获取更多查询时态表的示例。

于 2018-03-05T14:15:17.740 回答