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