在 sql server 中使用時間戳數據類型的目的?
- 在 sql server 中使用時間戳數據類型的目的是什麼?
- 您是否有在實際業務案例中使用時間戳的具體範例?
- 何時使用時間戳數據類型相關?
謝謝!
這可能是你的一個小誤解。
時間戳不是數據類型。它是/是 rowversion 的同義詞,這裡提到:
!注意
Transact-SQL rowversion 數據類型不是日期或時間數據類型。timestamp 是 rowversion 的已棄用同義詞。
參考: 日期和時間數據類型和函式 (Transact-SQL) (Microsoft | SQL Docs)
當您談論時間戳時,您實際上是在談論兩件事:
- 返回某種形式的日期或日期/時間值的函式。
- 將返回值儲存在表中的實際數據類型。
rowversion (時間戳;已棄用)是/是 SQL Server的專有“功能”,其中包含既不是數據也不是時間的數據類型。
是一種在數據庫中公開自動生成的唯一二進制數的數據類型。rowversion 通常用作對錶行進行版本標記的機制。儲存大小為 8 個字節。**rowversion 數據類型只是一個遞增的數字,不保留日期或時間。**要記錄日期或時間,請使用 datetime2 數據類型。
參考: rowversion (Transact-SQL) (Microsoft | SQL Docs)
參考資料可能會幫助您更好地表述您的問題,或者為您提供使用rowversion或日期時間函式與適當日期時間數據類型的組合的理由。
我已經籠統地回答了你的問題。但是,回答您的具體問題很困難,因為它們可能基於錯誤的假設/知識。通讀參考資料並根據需要編輯您的問題。
它是行版本:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/rowversion-transact-sql?view=sql-server-ver15
可用於表間數據同步的例子。請看看這個:
https://www.mssqltips.com/sqlservertip/4545/synchronizing-sql-server-data-using-rowversion/
還有其他數據同步方法,但這是一個選項。