sql >> Base de Datos >  >> RDS >> Sqlserver

3 formas de convertir decimal a hexadecimal en SQL Server (T-SQL)

Aquí hay 3 formas de convertir de decimal a hexadecimal en SQL Server.

Ejemplo 1:la función CONVERTIR()

Primero, usaremos el CONVERT() función. Esto le permite convertir entre tipos de datos en SQL Server.

Aquí hay un ejemplo del uso de esta función para convertir un valor decimal a hexadecimal:

SELECT CONVERT(VARBINARY(8), 64683) Result;

Resultado:

+------------+
| Result     |
|------------|
| 0x0000FCAB |
+------------+

En este caso, convertimos el valor decimal 64683 a VARBINARIO(8) .

Ejemplo 2:la función CAST()

Alternativamente, podemos usar el CAST() función para hacer lo mismo que el ejemplo anterior:

SELECT CAST(64683 AS VARBINARY(8)) Result;

Resultado:

+------------+
| Result     |
|------------|
| 0x0000FCAB |
+------------+

Tenga en cuenta que CAST() y CONVERT() utilizar sintaxis ligeramente diferentes. En el caso de CAST() el valor a emitir es lo primero, mientras que es al revés con CONVERT() .

Ejemplo 3:la función FORMAT()

También podemos usar el FORMAT() función para formatear el valor decimal como una cadena hexadecimal.

SELECT FORMAT(64683, 'X') Result;

Resultado:

+----------+
| Result   |
|----------|
| FCAB     |
+----------+

El X argumento es lo que especifica que el formato resultante debe ser hexadecimal.

También puedes usar una x minúscula para especificar que el resultado use letras minúsculas:

SELECT FORMAT(64683, 'x') Result;

Resultado:

+----------+
| Result   |
|----------|
| fcab     |
+----------+

El valor de retorno de esta función es nvarchar . Esto es diferente a las otras dos funciones, que devuelven el valor como una constante binaria (se nota por el 0x prefijo).