我有一個表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服務器沒有行的本地版本控制。 –