1.公開數據庫中自動生成的唯一二進制數字的數據類型。
2.timestamp 通常用作給表行加版本戳的機制。
3.存儲大小為 8 個字節。 不可為空的 timestamp 列在語義上等價於 binary(8) 列。可為空的 timestamp 列在語義上等價於 varbinary(8) 列。這將導致在C#程序中獲取到的timestamp類型則變成了byte[]類型。所以如果我們需要從數據庫中獲取並使用這個時間戳的話就必需經過轉換。
4.timestamp 數據類型只是遞增的數字,不保留日期或時間。 若要記錄日期或時間,請使用 datetime 數據類型。
5.一個表只能有一個 timestamp 列。每次插入或更新包含 timestamp 列的行時,timestamp 列中的值均會更新。對行的任何更新都會更改 timestamp 值。
6.緩存數據的運用,timestamp記錄的是數據變更的時間,下次的值比上次大,在程序中讀取大於上次MAX(timestamp)的數據,就是最新變更的數據
.總結:SQL Server timestamp 數據類型與時間和日期無關。SQL Server timestamp 是二進制數字,它表明數據庫中數據修改發生的相對順序。實現 timestamp 數據類型最初是為了支持 SQL Server 恢復算法。每次修改頁時,都會使用當前的 @@DBTS 值對其做一次標記,然后 @@DBTS 加1。這樣做足以幫助恢復過程確定頁修改的相對次序,但是 timestamp 值與時間沒有任何關系。@@DBTS 返回當前數據庫最后使用的時間戳值。插入或更新包含 timestamp 列的行時,將產生一個新的時間戳值。