将十六进制值转换为bigint

时间:2011-07-27 11:11:33

标签: sql-server sql-server-2008 tsql

我在将字符串(表示十六进制数字)转换为bigint时遇到了一些麻烦。我也希望这能在一个函数内部发生并尽可能高效。 无论如何都在利用内置函数? 这是我想要做的一个例子:

select convert (bigint, '0000010d1858798c')

1 个答案:

答案 0 :(得分:5)

SQL Server 2008发行版更新了CONVERT()函数,以便能够转换十六进制值:

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

结果:

1155754654092 (decimal) ( ==  0x0000010d1858798c )