Sql server 比较Access/SQL查询的WHERE子句中的时间戳
我在一个连接到SQL Server后端的Access前端中工作 在我们的一个表中,SQL Server上的数据类型是timestamp。我想写一个WHERE语句,将返回的数据限制为在过去30秒内创建的记录。我尝试了以下方法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 我一直在研究铸造和转换,但具体在
WHERE myTime > DATEADD(s, -30, SYSDATETIME())
但会出现以下错误:
Operand type clash: datetime2 is incompatible with timestamp
我一直在研究铸造和转换,但具体在哪里或如何做还不清楚。有什么见解吗?使用SYSDATETIME()正确吗?您应该为
myTime
列使用datetime
类型。我想你误解了这次会议的目的
参考文章:
时间戳数据类型只是一个递增的数字,而不是
保留日期或时间。要记录日期或时间,请使用datetime
数据类型
好吧,您不能使用
时间戳
类型的列来获取最后30秒(或任何时间段)的数据。如果表中没有datetime列,恐怕你就是做不到你想做的。明白了。这就是我所能得到的,所以我想这就是我想要的。