2011-07-27 10 views
5

Tengo algunos problemas para convertir una cadena (que representa un número hexadecimal) en un bigint. También me gustaría que esto ocurra dentro de una función y lo más eficiente posible. ¿Hay alguna forma de explotar las funciones incorporadas? Aquí está un ejemplo de lo que quiero hacer:Convertir el valor hexadecimal en bigint

select convert (bigint, '0000010d1858798c') 

Respuesta

5

La versión de SQL Server 2008 actualiza la función CONVERT() sea capaz de convertir valores hexadecimales:

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

Resultado:

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

sí, thx: D Utilicé su método y funciona perfectamente: D Solo hay un problema con las cadenas que tienen una longitud impar, pero la aplicación I terminó un 0 y ahora está bien: D –

Cuestiones relacionadas