时态表中的日期函数

时间:2018-03-05 14:10:24

标签: sql tsql sql-server-2016 temporal-tables

自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关键字指定日期时间?

提前致谢。

1 个答案:

答案 0 :(得分:2)

试试这个:

DECLARE @Date DATETIME2 = GETUTCDATE()

SELECT * 
FROM Person
FOR SYSTEM_TIME AS OF @Date

另外,请查看this article以获取查询时态表的更多示例。