溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQLServer數(shù)據(jù)庫中有哪些timestamp數(shù)據(jù)類型

發(fā)布時(shí)間:2021-08-05 15:24:09 來源:億速云 閱讀:161 作者:Leah 欄目:數(shù)據(jù)庫

本篇文章給大家分享的是有關(guān)SQLServer數(shù)據(jù)庫中有哪些timestamp數(shù)據(jù)類型,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

  SQLServer數(shù)據(jù)庫timestamp數(shù)據(jù)類型有哪些

  通俗的解釋:我們知道數(shù)字類型有個(gè)“標(biāo)識”屬性,設(shè)置好“標(biāo)識種子”、“標(biāo)識遞增量”,每增加一條記錄時(shí),這個(gè)字段的值就會(huì)在最近的一個(gè)標(biāo)識值基礎(chǔ)上自動(dòng)增加,這樣我們可以知道哪些記錄是先添加的,哪些記錄是后添加的,但是我們無法知道哪些記錄修改過。timestamp這個(gè)類型的字段呢,每增加一條記錄時(shí),它會(huì)在最近的一個(gè)時(shí)間戳基礎(chǔ)上自動(dòng)增加,當(dāng)修改某條記錄時(shí),它也會(huì)在最近的一個(gè)時(shí)間戳基礎(chǔ)上自動(dòng)增加,所以我們就知道哪些記錄修改過了。timestamp這種數(shù)據(jù)類型表現(xiàn)自動(dòng)生成的二進(jìn)制數(shù),確保這些數(shù)在數(shù)據(jù)庫中是唯一的。timestamp一般用作給表行加版本戳的機(jī)制。存儲(chǔ)大小為8字節(jié)。

  注釋:

  Transact-SQLtimestamp數(shù)據(jù)類型與在SQL-92標(biāo)準(zhǔn)中定義的timestamp數(shù)據(jù)類型不同。SQL-92timestamp數(shù)據(jù)類型等價(jià)于Transact-SQLdatetime數(shù)據(jù)類型。

  Microsoft?SQLServer?將來的版本可能會(huì)修改Transact-SQLtimestamp數(shù)據(jù)類型的行為,使它與在標(biāo)準(zhǔn)中定義的行為一致。到那時(shí),當(dāng)前的timestamp數(shù)據(jù)類型將用rowversion數(shù)據(jù)類型替換。

  Microsoft?SQLServer?2000引入了timestamp數(shù)據(jù)類型的rowversion同義詞。在DDL語句中盡可能使用rowversion而不使用timestamp。rowversion受數(shù)據(jù)類型同義詞行為的制約。有關(guān)更多信息,請參見數(shù)據(jù)類型同義詞。

  在CREATETABLE或ALTERTABLE語句中,不必為timestamp數(shù)據(jù)類型提供列名:CREATETABLEExampleTable(PriKeyintPRIMARYKEY,timestamp),假如沒有提供列名,SQLServer將生成timestamp的列名。rowversion數(shù)據(jù)類型同義詞不具有這樣的行為。指定rowversion時(shí)必須提供列名。

  SQLServer數(shù)據(jù)庫timestamp數(shù)據(jù)類型有哪些

  一個(gè)表只能有一個(gè)timestamp列。每次插入或更新包含timestamp列的行時(shí),timestamp列中的值均會(huì)更新。這一屬性使timestamp列不適合作為鍵使用,尤其是不能作為主鍵使用。對行的任何更新都會(huì)更改timestamp值,從而更改鍵值。假如該列屬于主鍵,那么舊的鍵值將無效,進(jìn)而引用該舊值的外鍵也將不再有效。假如該表在動(dòng)態(tài)游標(biāo)中引用,則所有更新均會(huì)更改游標(biāo)中行的位置。假如該列屬于索引鍵,則對數(shù)據(jù)行的所有更新還將導(dǎo)致索引更新。

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

  MicrosoftSQLServer用兩個(gè)4字節(jié)的整數(shù)內(nèi)部存儲(chǔ)datetime數(shù)據(jù)類型的值。第一個(gè)4字節(jié)存儲(chǔ)basedate(即1900年1月1日)之前或之后的天數(shù)。基礎(chǔ)日期是系統(tǒng)參考日期。不允許早于1753年1月1日的datetime值。另外一個(gè)4字節(jié)存儲(chǔ)以午夜后毫秒數(shù)所代表的每天的時(shí)間。

  @@DBTS(SELECT@@DBTS),為當(dāng)前數(shù)據(jù)庫返回當(dāng)前timestamp數(shù)據(jù)類型的值。這一timestamp值保證在數(shù)據(jù)庫中是唯一的。

  語法如下:@@DBTS返回類型varbinary

  注釋:

  @@DBTS返回當(dāng)前數(shù)據(jù)庫最后所使用的時(shí)間戳值。當(dāng)帶有timestamp列的一行被插入或更新時(shí),會(huì)產(chǎn)生一個(gè)新的時(shí)間戳值。

以上就是SQLServer數(shù)據(jù)庫中有哪些timestamp數(shù)據(jù)類型,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI