1
我正在嘗試解決與Convert from UniqueIdentifier to BigInt and Back?非常相似的問題。不幸的是,該示例沒有顯示整個過程,它僅顯示將GUID轉換回BIGINT。SQL Server 2008從BIGINT轉換爲UNIQUEIDENTIFIER/GUID並返回
我將這稱爲一個假設的問題,因爲我已經決定將整數存儲爲GUID不是很有益。然而在這一點上,我只是想知道爲什麼轉換過程不起作用。
一切看起來都很好,直到第5步....
SELECT 1 AS Step
,100966116980299
SELECT 2 AS Step
,CONVERT(VARBINARY(8), 100966116980299, 1)
SELECT 3 AS Step
,CONVERT(UNIQUEIDENTIFIER,
CONVERT(VARBINARY(8), 100966116980299, 1)
)
SELECT 4 AS Step
,CONVERT(VARBINARY(8),
CONVERT(UNIQUEIDENTIFIER,
CONVERT(VARBINARY(8), 100966116980299, 1)
), 1
)
SELECT 5 AS Step
,CONVERT(BIGINT,
CONVERT(VARBINARY(8),
CONVERT(UNIQUEIDENTIFIER,
CONVERT(VARBINARY(8), 100966116980299, 1)
), 1
)
)
結果
Step Value
1 100966116980299
2 0x0F0000014B768901
3 0100000F-764B-0189-0000-000000000000
4 0x0F0000014B768901
5 1080863916129945857
尼斯漁獲物。在我嘗試過的所有變化中,我沒有考慮CAST數字本身 – 2012-08-03 20:37:54