我正在一个链接到SQL Server后端的Access前端工作。
在我们的一个表中,SQL Server上的数据类型是时间戳。我想写一个WHERE语句,限制返回到过去30秒内创建的记录的数据。我尝试了以下内容
WHERE myTime > DATEADD(s, -30, SYSDATETIME())
但是得到以下错误:
Operand type clash: datetime2 is incompatible with timestamp
我一直在研究铸造和转换,但究竟在哪里或如何做到这一点尚不清楚。任何见解?并且正在使用SYSDATETIME()做正确的事情?
你应该使用datetime
类型为你的myTime
列。我想你误解了timestamp
datatype的目的。
从引用的文章:
时间戳数据类型只是一个递增的数字,不保留日期或时间。要记录日期或时间,请使用日期时间数据类型。