自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关键字指定日期时间?
提前致谢。
答案 0 :(得分:2)
试试这个:
DECLARE @Date DATETIME2 = GETUTCDATE()
SELECT *
FROM Person
FOR SYSTEM_TIME AS OF @Date
另外,请查看this article以获取查询时态表的更多示例。