SQL Server數據庫(時間戳timestamp)類型

      1.公開數據庫中自動生成的惟一二進制數字的數據類型。算法

  2.timestamp 一般用做給錶行加版本戳的機制。數據庫

  3.存儲大小爲 8 個字節。 不可爲空的 timestamp 列在語義上等價於 binary(8) 列。可爲空的 timestamp 列在語義上等價於 varbinary(8) 列。這將致使在C#程序中獲取到的timestamp類型則變成了byte[]類型。因此若是咱們須要從數據庫中獲取並使用這個時間戳的話就必需通過轉換。緩存

  4.timestamp 數據類型只是遞增的數字,不保留日期或時間。 若要記錄日期或時間,請使用 datetime 數據類型。date

  5.一個表只能有一個 timestamp 列。每次插入或更新包含 timestamp 列的行時,timestamp 列中的值均會更新。對行的任何更新都會更改 timestamp 值。數據類型

      6.緩存數據的運用,timestamp記錄的是數據變動的時間,下次的值比上次大,在程序中讀取大於上次MAX(timestamp)的數據,就是最新變動的數據二進制

 .總結:SQL Server timestamp 數據類型與時間和日期無關。SQL Server timestamp 是二進制數字,它代表數據庫中數據修改發生的相對順序。實現 timestamp 數據類型最初是爲了支持 SQL Server 恢復算法。每次修改頁時,都會使用當前的 @@DBTS 值對其作一次標記,而後 @@DBTS 加1。這樣作足以幫助恢復過程肯定頁修改的相對次序,可是 timestamp 值與時間沒有任何關係。@@DBTS 返回當前數據庫最後使用的時間戳值。插入或更新包含 timestamp 列的行時,將產生一個新的時間戳值。程序

相關文章
相關標籤/搜索