Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

3 maneiras de converter decimal em hexadecimal no SQL Server (T-SQL)


Aqui estão 3 maneiras de converter de decimal para hexadecimal no SQL Server.


Exemplo 1 – A função CONVERT()


Primeiro, usaremos o CONVERT() função. Isso permite converter entre tipos de dados no SQL Server.

Aqui está um exemplo de uso desta função para converter um valor decimal em hexadecimal:
SELECT CONVERT(VARBINARY(8), 64683) Result;

Resultado:
+------------+
| Result     |
|------------|
| 0x0000FCAB |
+------------+

Nesse caso, convertemos o valor decimal 64683 para VARBINÁRIO(8) .

Exemplo 2 – A função CAST()


Alternativamente, podemos usar o CAST() função para fazer a mesma coisa que o exemplo anterior:
SELECT CAST(64683 AS VARBINARY(8)) Result;

Resultado:
+------------+
| Result     |
|------------|
| 0x0000FCAB |
+------------+

Observe que CAST() e CONVERT() usar sintaxes ligeiramente diferentes. No caso de CAST() o valor a ser convertido vem primeiro, enquanto é o contrário com CONVERT() .

Exemplo 3 – A função FORMAT()


Também podemos usar o FORMAT() função para formatar o valor decimal como uma string hexadecimal.
SELECT FORMAT(64683, 'X') Result;

Resultado:
+----------+
| Result   |
|----------|
| FCAB     |
+----------+

O X argumento é o que especifica que o formato resultante deve ser hexadecimal.

Você também pode usar um x minúsculo para especificar que o resultado usa letras minúsculas:
SELECT FORMAT(64683, 'x') Result;

Resultado:
+----------+
| Result   |
|----------|
| fcab     |
+----------+

O valor de retorno desta função é nvarchar . Isso é diferente das outras duas funções, que retornam o valor como uma constante binária (você pode dizer pelo 0x prefixo).