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).