本篇文章給大家分享的是有關(guān)SQLServer數(shù)據(jù)庫中有哪些timestamp數(shù)據(jù)類型,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
目前成都創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、肇東網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
SQLServer數(shù)據(jù)庫timestamp數(shù)據(jù)類型有哪些
通俗的解釋:我們知道數(shù)字類型有個“標(biāo)識”屬性,設(shè)置好“標(biāo)識種子”、“標(biāo)識遞增量”,每增加一條記錄時,這個字段的值就會在最近的一個標(biāo)識值基礎(chǔ)上自動增加,這樣我們可以知道哪些記錄是先添加的,哪些記錄是后添加的,但是我們無法知道哪些記錄修改過。timestamp這個類型的字段呢,每增加一條記錄時,它會在最近的一個時間戳基礎(chǔ)上自動增加,當(dāng)修改某條記錄時,它也會在最近的一個時間戳基礎(chǔ)上自動增加,所以我們就知道哪些記錄修改過了。timestamp這種數(shù)據(jù)類型表現(xiàn)自動生成的二進(jìn)制數(shù),確保這些數(shù)在數(shù)據(jù)庫中是唯一的。timestamp一般用作給表行加版本戳的機(jī)制。存儲大小為8字節(jié)。
注釋:
Transact-SQLtimestamp數(shù)據(jù)類型與在SQL-92標(biāo)準(zhǔn)中定義的timestamp數(shù)據(jù)類型不同。SQL-92timestamp數(shù)據(jù)類型等價于Transact-SQLdatetime數(shù)據(jù)類型。
Microsoft?SQLServer?將來的版本可能會修改Transact-SQLtimestamp數(shù)據(jù)類型的行為,使它與在標(biāo)準(zhǔn)中定義的行為一致。到那時,當(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時必須提供列名。
SQLServer數(shù)據(jù)庫timestamp數(shù)據(jù)類型有哪些
一個表只能有一個timestamp列。每次插入或更新包含timestamp列的行時,timestamp列中的值均會更新。這一屬性使timestamp列不適合作為鍵使用,尤其是不能作為主鍵使用。對行的任何更新都會更改timestamp值,從而更改鍵值。假如該列屬于主鍵,那么舊的鍵值將無效,進(jìn)而引用該舊值的外鍵也將不再有效。假如該表在動態(tài)游標(biāo)中引用,則所有更新均會更改游標(biāo)中行的位置。假如該列屬于索引鍵,則對數(shù)據(jù)行的所有更新還將導(dǎo)致索引更新。
不可為空的timestamp列在語義上等價于binary(8)列??蔀榭盏膖imestamp列在語義上等價于varbinary(8)列。
MicrosoftSQLServer用兩個4字節(jié)的整數(shù)內(nèi)部存儲datetime數(shù)據(jù)類型的值。第一個4字節(jié)存儲basedate(即1900年1月1日)之前或之后的天數(shù)?;A(chǔ)日期是系統(tǒng)參考日期。不允許早于1753年1月1日的datetime值。另外一個4字節(jié)存儲以午夜后毫秒數(shù)所代表的每天的時間。
@@DBTS(SELECT@@DBTS),為當(dāng)前數(shù)據(jù)庫返回當(dāng)前timestamp數(shù)據(jù)類型的值。這一timestamp值保證在數(shù)據(jù)庫中是唯一的。
語法如下:@@DBTS返回類型varbinary
注釋:
@@DBTS返回當(dāng)前數(shù)據(jù)庫最后所使用的時間戳值。當(dāng)帶有timestamp列的一行被插入或更新時,會產(chǎn)生一個新的時間戳值。
以上就是SQLServer數(shù)據(jù)庫中有哪些timestamp數(shù)據(jù)類型,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。