如何在sql中获取最近3个小时的更新记录

时间:2015-04-28 11:42:08

标签: c# sql sql-server asp.net-mvc sql-server-2008

我有一张桌子Employee。有人在过去3小时内更新了一些记录。我想得到那些更新的记录。 如果可能的话,我想在sql中的先前和当前记录之间进行差异。 我想要一个答案作为查询。

2 个答案:

答案 0 :(得分:3)

使用DATEDIFF

SELECT e.*
FROM Employee e
WHERE DATEDIFF(HOUR, e.UpdatedAt, GETDATE()) <= 3

答案 1 :(得分:0)

如果表中的任何列的数据类型为Row version,则会自动将时间戳值添加到表中的每一行。每次在特定行上执行任何操作时,都会修改此列值。如果我们更新行中的任何行,则行的行的Time.TIMESTAMP值将自动更新行的Timestamp值。表。新的TIMESTAMP值将始终是表中所有行中存在的最大TIMESTAMP值的下一个递增值。要获取上次更新,只需查询最新的3行版本列

CREATE TABLE Employee(EmployeeID int PRIMARY KEY, VerCol rowversion) ;