Sql server 比较Access/SQL查询的WHERE子句中的时间戳

Sql server 比较Access/SQL查询的WHERE子句中的时间戳,sql-server,ms-access,sql-timestamp,Sql Server,Ms Access,Sql Timestamp,我在一个连接到SQL Server后端的Access前端中工作 在我们的一个表中,SQL Server上的数据类型是timestamp。我想写一个WHERE语句,将返回的数据限制为在过去30秒内创建的记录。我尝试了以下方法 WHERE myTime > DATEADD(s, -30, SYSDATETIME()) 但会出现以下错误: Operand type clash: datetime2 is incompatible with timestamp 我一直在研究铸造和转换,但具体在

我在一个连接到SQL Server后端的Access前端中工作

在我们的一个表中,SQL Server上的数据类型是timestamp。我想写一个WHERE语句,将返回的数据限制为在过去30秒内创建的记录。我尝试了以下方法

WHERE myTime > DATEADD(s, -30, SYSDATETIME())
但会出现以下错误:

Operand type clash: datetime2 is incompatible with timestamp

我一直在研究铸造和转换,但具体在哪里或如何做还不清楚。有什么见解吗?使用SYSDATETIME()正确吗?

您应该为
myTime
列使用
datetime
类型。我想你误解了这次会议的目的

参考文章:

时间戳数据类型只是一个递增的数字,而不是 保留日期或时间。要记录日期或时间,请使用datetime 数据类型


好吧,您不能使用
时间戳
类型的列来获取最后30秒(或任何时间段)的数据。如果表中没有datetime列,恐怕你就是做不到你想做的。明白了。这就是我所能得到的,所以我想这就是我想要的。