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