Sqlserver timestamp資料型別

2022-05-02 10:03:11 字數 1714 閱讀 4694

timestamp這種資料型別表現自動生成的二進位制數,確保這些數在資料庫中是唯一的。timestamp一般用作給錶行加版本戳的機制。儲存大小為 8 位元組。

注釋transact-sqltimestamp資料型別與在 sql-92 標準中定義的timestamp資料型別不同。sql-92timestamp資料型別等價於 transact-sqldatetime資料型別。

microsoft® sql server™ 將來的版本可能會修改 transact-sqltimestamp資料型別的行為,使它與在標準中定義的行為一致。到那時,當前的timestamp資料型別將用rowversion資料型別替換。

microsoft® sql server™ 2000 引入了timestamp資料型別的rowversion同義詞。在 ddl 語句中盡可能使用rowversion而不使用timestamprowversion受資料型別同義詞行為的制約。有關更多資訊,請參見資料型別同義詞。

在 create table 或 alter table 語句中,不必為timestamp資料型別提供列名:

create table exampletable (prikey int primary key, timestamp)
如果沒有提供列名,sql server 將生成timestamp的列名。rowversion資料型別同義詞不具有這樣的行為。指定rowversion時必須提供列名。

乙個表只能有乙個timestamp列。每次插入或更新包含timestamp列的行時,timestamp列中的值均會更新。這一屬性使timestamp列不適合作為鍵使用,尤其是不能作為主鍵使用。對行的任何更新都會更改timestamp值,從而更改鍵值。如果該列屬於主鍵,那麼舊的鍵值將無效,進而引用該舊值的外來鍵也將不再有效。如果該錶在動態游標中引用,則所有更新均會更改游標中行的位置。如果該列屬於索引鍵,則對資料行的所有更新還將導致索引更新。

不可為空的timestamp列在語義上等價於binary(8)列。可為空的timestamp列在語義上等價於varbinary(8)列。

為當前資料庫返回當前timestamp資料型別的值。這一timestamp值保證在資料庫中是唯一的。

語法@@dbts

返回型別

varbinary

注釋@@dbts 返回當前資料庫最後所使用的時間戳值。當帶有timestamp列的一行被插入或更新時,會產生乙個新的時間戳值。

SqlServer timestamp資料型別

時間戳型別和bigint互相轉化示例 set nocount on 申明3個時間戳 declare timeflag1 bigint declare timeflag2 bigint declare timeflag3 bigint 建立表,timestamp型別不需要欄位名 create tabl...

mysql tinlong MySQL資料型別詳解

引言 mysql中定義資料欄位的型別對你資料庫的優化是非常重要的。mysql支援多種型別,大致可以分為三類 數值 日期 時間和字串 字元 型別,如下腦圖所示 數值型別 型別大小範圍 有符號 範圍 無符號 用途 tinyint 1 位元組 128,127 0,255 小整數值 smallint 2 位...

資料讀取類

今天在聽講座的時候找到了乙個比較好的類,趕緊記下來 呼叫這個類也非常簡單,第一步是設定連線字串 connectionstrings clear add name pubsdata connectionstring data source sqlexpress attachdbfilename dat...