关于tsql:比较ASP.NET中的两个时间列

Comparing two time columns in ASP.NET

我对ASP.NET和SQL比较陌生,所以我很难找到比较两个时间列的方法。我在.mdb数据库中有一个时间戳列,然后有一个now()列。我需要一个从时间戳开始"大于或等于3小时"的网格视图显示记录。你知道我该怎么做吗?


时间戳通常用于跟踪对记录的更改,并在每次更改记录时更新。如果要存储特定值,则应使用日期时间字段。

如果您使用的是datetime列,并且希望结果为tsql,请尝试

1
DATEDIFF(Hour, 'Your DateTime Column here', 'pass Now() here' )

尝试在tsql中执行此示例:

1
select DATEDIFF(Hour, '2012-11-10 00:00:59.900', '2012-11-10 05:01:00.100')


Transact-SQL时间戳数据类型是一种没有时间相关值的二进制数据类型。

所以要回答您的问题:有没有方法从timestamp类型列中获取日期时间值?

答案是:不

您需要另一列datetime2类型,并使用>运算符进行比较。您可能需要设置getutcdate()的默认值,以便在插入每一行时对其进行设置。

更新:

由于列是datetime类型,而不是timestamp类型(在SQL Server中有一个名为timestamp的类型,因此出现了混淆),您可以这样做。

埃多克斯1〔6〕

确保服务器与代码在同一时区内运行。以UTC格式存储所有日期可能更安全。在这种情况下,使用GETUTCDATE代替GETDATE