2011-07-27 204 views
5

我在將字符串(表示十六進制數字)轉換爲bigint時遇到了一些麻煩。我也希望這是在一個函數內部發生的,儘可能高效。 有沒有利用內置函數? 這裏是我想要做的一個例子:將十六進制值轉換爲bigint

select convert (bigint, '0000010d1858798c') 

回答

5

的SQL Server 2008的版本更新CONVERT()功能能夠轉換十六進制值:

select convert(bigint, convert (varbinary(8), '0x0000010d1858798c', 1)) 

結果:

1155754654092 (decimal) (== 0x0000010d1858798c) 
+0

是的,thx:D 我用你的方法,它的工作原理:D 只有一個問題的字符串有奇數的長度,但我的應用程序結束了0,現在可以:D –