我有一个表Employee
。有人在过去3小时内更新了一些记录。我想获得更新的记录。 如果可能,我需要在sql
之前的记录和当前记录之间的差异。 我想要一个答案作为查询。如何获得最近3小时内更新的记录sql
回答
使用DATEDIFF
:
SELECT e.*
FROM Employee e
WHERE DATEDIFF(HOUR, e.UpdatedAt, GETDATE()) <= 3
您正在考虑员工中的UpdatedAt列。但我没有任何列保持更新时间。我正在考虑从sql server内部时间戳中获取它。 –
@HemantMalpote:然后你需要添加一个。引用[this](http://stackoverflow.com/questions/6344413/sqlserver-row-date-last-modified):_“为了记录或页面的磁盘结构不包含任何对最后一次更新时间的引用......在记录/行级别没有这样的信息。“_考虑SQL-Server是用来存储数十亿条记录的,为什么它应该存储可能从未使用过的信息? –
如果您有与数据类型行版本的表中的任何列,则时间戳值会自动在你的表添加到每个行。此列值将在每次对特定行进行任何操作时进行修改。行版本是行的时间戳记值。如果我们更新了行中任何行的值,行的值将自动更新。表。新的时间戳值将始终是最大的TIMESTAMP值的下一个递增的值在table.To所有行之间存在拿到最后更新,只是查询最新的3行版本列
CREATE TABLE Employee(EmployeeID int PRIMARY KEY, VerCol rowversion) ;
- 1. Oracle在最近一小时内获取记录更新
- 2. 如何获得最近24小时的记录?
- 3. 最近24小时使用Oracle SQL从表中更新记录?
- 4. SQL在给定小时内获得最高金额的记录
- 5. 如何检索SQL Server中最近几个小时的记录
- 6. SQL GROUP BY:获取索引视图的最近更新记录
- 7. 如何从hbase表(最近n小时)获取最新样本记录?
- 8. SQL - 同组内最近的记录
- 9. SQL加入以获得最新记录
- 10. 只获得组内最新记录
- 11. 如何获得SQL中特定记录列的最小值?
- 12. 如何获得小时和最近的小时
- 13. 如何在00:05时运行查询时获得最近24小时内的记录
- 14. 时间戳字段输出最近24小时内的记录
- 15. 获得最新的记录,如果*
- 16. SQL更新最近在表中而不是最近在选定的记录
- 17. SQL获取最新记录
- 18. 每个记录在一段时间内获得最小值
- 19. 如何获得OrmLite的最近10条记录?
- 20. 如何获得最近的n项平均积极记录
- 21. 需要帮助的SQL查询 - 如何获得最近删除的记录
- 22. 如何在SQL中获取最近2天的所有记录
- 23. 如果存在3个月内的最近记录
- 24. hql查询获取最近12小时的记录
- 25. 获得给定ID列表中每个ID的最近更新记录。 LINQ
- 26. MySQL:如何选择最近更新日期的记录
- 27. 如何编写LINQ获得最近传入事件记录
- 28. SQL最近更新的行
- 29. SQL - 根据最近日期更新记录
- 30. Twitter API - 获取最近24小时或最近1小时内的推文
什么是你的表结构?如果您存储“CreatedDate/UpdatedDate”之类的内容,则可以使用Tim Schmelter提供的解决方案 – ughai
如果您没有进行审核,则不会获得以前的值。 sql服务器没有行的本地版本控制。 –