假設我有一點SQL過濾了UniqueIdentifier
類型列的數據。SQL Server中是否存在UniqueIdentifiers驗證規則?
Select * from core.Pages WHERE PageId = '1DC4E71C-4E68-489D-A837-2C9BA8DCC1DC'
對於快速測試/理智的目的(通過NEWID()函數生成該GUID)檢查我想我替換字符之一與「x」和運行再次查詢。想象一下當我收到錯誤消息時,我的驚喜:
將字符串轉換爲 uniqueidentifier時轉換失敗。
我認爲GUID或UniqueIdentifier在它的範圍內是無限的。任何字母數字字符都可以被其他字符替換,但似乎SQL Server對於什麼是GUID有自己的想法。任何使用字母'X'都會產生這個錯誤。其他角色似乎並沒有打亂RDBMS。
任何人都可以解釋這一點嗎?
相信一個GUID是任何十六進制字符0,1,2,3,4,5,6,7,8,9,A,B,C,d,E,和F –
順便提及不使用NEWID( )使用newsequentialId(),http://www.codeproject.com/KB/database/AgileWareNewGuid.aspx – HLGEM