跟大家講解下有關sql uniqueidentifier數據類型詳解,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說sql uniqueidentifier數據類型詳解,小編也收集到了有關sql uniqueidentifier數據類型詳解的相關資料,希望大家看到了會喜歡。
uniqueidentifier數據類型可存儲16字節的二進制值,其作用與全局唯一標記符(GUID)一樣。GUID是唯一的二進制數:世界上的任何兩臺計算機都不會生成重復的GUID值。
在SQL中 ROWGUIDCOL表示新列是行的全局唯一標識列。對于每個表只能指派一個uniqueidentifier 列作為ROWGUIDCO列。ROWGUIDCOL屬性只能指派給uniqueidentifier列
uniqueidentifier數據類型的賦值方法:
1.使用NewID()函數來實現
2.直接將字符串的常量轉化為xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
例如:6F9619FF-8B86-D011-B42D-00C04FC964FF
3.直接賦予32位的十六位數據
例如:0xffffffff00000000ffffffff00000000
其它
在SQL Server 2005中有一個數據類型uniqueidentifier,這個數據類型就是用于支持GUID(Global Unique Identifier)。這個類型的值是一個長度為32的定長字符串,比如”00000002-3378-a87f-92pj-2t68i97o34ms”。GUID可以保證該ID的全局唯一性,方便整合,以免因為數據互相Copy以及轉化過程中因為ID相同引起不必要的沖突。在C#中有Guid類,方便我們生成和操作GUID。比如Guid.NewGuid.ToString()就可以得到一個新的GUID字符串。其實,GUID本質上可以認為是時間戳的MD5 Hash。在Lotus中,每個Document都有一個全局的唯一標識稱作UNID(unique identifier)。這個UNID和上述GUID有著相同的機制。筆者在最近的項目中就完成了Lotus文檔數據庫向SQL Server 關系數據庫轉化的工作。涉及了比較多的GUID和UNID的操作。在SQL Server 2005中,uniquidentifier類型值總是可以用casting轉化為定長(32)的varchar類型。
來源:php中文網