Her er 3 måder at konvertere fra decimal til hexadecimal i SQL Server.
Eksempel 1 – KONVERT()-funktionen
Først bruger vi CONVERT()
fungere. Dette giver dig mulighed for at konvertere mellem datatyper i SQL Server.
Her er et eksempel på brug af denne funktion til at konvertere en decimalværdi til hexadecimal:
SELECT CONVERT(VARBINARY(8), 64683) Result;
Resultat:
+------------+ | Result | |------------| | 0x0000FCAB | +------------+
I dette tilfælde konverterer vi decimalværdien 64683
til VARBINARY(8) .
Eksempel 2 – CAST()-funktionen
Vi kan alternativt bruge CAST()
funktion for at gøre det samme som det forrige eksempel:
SELECT CAST(64683 AS VARBINARY(8)) Result;
Resultat:
+------------+ | Result | |------------| | 0x0000FCAB | +------------+
Bemærk, at CAST()
og CONVERT()
bruge lidt forskellige syntakser. I tilfælde af CAST()
værdien, der skal castes, kommer først, hvorimod det er omvendt med CONVERT()
.
Eksempel 3 – FORMAT()-funktionen
Vi kan også bruge FORMAT()
funktion til at formatere decimalværdien som en hexadecimal streng.
SELECT FORMAT(64683, 'X') Result;
Resultat:
+----------+ | Result | |----------| | FCAB | +----------+
X
argument er det, der specificerer, at det resulterende format skal være hexadecimalt.
Du kan også bruge et lille x
for at angive, at resultatet bruger små bogstaver:
SELECT FORMAT(64683, 'x') Result;
Resultat:
+----------+ | Result | |----------| | fcab | +----------+
Denne funktions returværdi er nvarchar . Dette er forskelligt fra de to andre funktioner, som returnerer værdien som en binær konstant (du kan se ved 0x
præfiks).