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

问题描述 投票:0回答:1

我正在一个链接到SQL Server后端的Access前端工作。

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

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

但是得到以下错误:

Operand type clash: datetime2 is incompatible with timestamp

我一直在研究铸造和转换,但究竟在哪里或如何做到这一点尚不清楚。任何见解?并且正在使用SYSDATETIME()做正确的事情?

sql-server ms-access sql-timestamp
1个回答
1
投票

你应该使用datetime类型为你的myTime列。我想你误解了timestamp datatype的目的。

从引用的文章:

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

© www.soinside.com 2019 - 2024. All rights reserved.