Saltar al contenido

Convertir entero a hexadecimal y hexadecimal a entero

Es fundamental entender el código de forma correcta antes de utilizarlo a tu trabajo si tquieres aportar algo puedes decirlo en los comentarios.

Solución:

Convertir INT a hexadecimal:

SELECT CONVERT(VARBINARY(8), 16777215)

Convertir hexadecimal a INT:

SELECT CONVERT(INT, 0xFFFFFF)

Actualización 2015-03-16

El ejemplo anterior tiene la limitación de que solo funciona cuando el valor HEX se proporciona como un literal entero. Para completar, si el valor a convertir es un hexadecimal string (como se encuentra en una columna varchar) use:

-- If the '0x' marker is present:
SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1))

-- If the '0x' marker is NOT present:
SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2))

Nota: los string debe contener un número par de dígitos hexadecimales. Un número impar de dígitos producirá un error.

Se pueden encontrar más detalles en la sección “Estilos binarios” de CAST y CONVERT (Transact-SQL). Creo que se requiere SQL Server 2008 o posterior.

En realidad, la función integrada se llama master.dbo.fn_varbintohexstr.

Así por ejemplo:

SELECT 100, master.dbo.fn_varbintohexstr(100)

Te dio

100 0x00000064

SQL Server equivalentes a Excel string-funciones basadas en DEC2HEX, HEX2DEC:

--Convert INT to hex string:
PRINT CONVERT(VARCHAR(8),CONVERT(VARBINARY(4), 16777215),2) --DEC2HEX

--Convert hex string to INT:
PRINT CONVERT(INT,CONVERT(VARBINARY(4),'00FFFFFF',2)) --HEX2DEC

Valoraciones y comentarios

Si para ti ha resultado provechoso nuestro artículo, agradeceríamos que lo compartas con el resto programadores así contrubuyes a dar difusión a nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *