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

Compare a timestamp in WHERE clause of Access/SQL query

我在链接到 SQL 服务器后端的 Access 前端中工作。

在我们的一个表中,SQL 服务器上的数据类型是时间戳。我想写一个 WHERE 语句,将返回的数据限制为最近 30 秒内创建的记录。我尝试了以下

WHERE myTime > DATEADD(s, -30, SYSDATETIME())

但是出现如下错误:

Operand type clash: datetime2 is incompatible with timestamp

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

您应该为 myTime 列使用 datetime 类型。我认为您误解了 timestamp datatype.

的目的

来自参考文章:

The timestamp data type is just an incrementing number and does not preserve a date or a time. To record a date or time, use a datetime data type.