Här är 3 sätt att konvertera från decimal till hexadecimal i SQL Server.
Exempel 1 – Funktionen CONVERT()
Först använder vi CONVERT()
fungera. Detta gör att du kan konvertera mellan datatyper i SQL Server.
Här är ett exempel på hur du använder den här funktionen för att konvertera ett decimalvärde till hexadecimalt:
SELECT CONVERT(VARBINARY(8), 64683) Result;
Resultat:
+------------+ | Result | |------------| | 0x0000FCAB | +------------+
I det här fallet konverterar vi decimalvärdet 64683
till VARBINARY(8) .
Exempel 2 – CAST()-funktionen
Vi kan alternativt använda CAST()
funktion för att göra samma sak som föregående exempel:
SELECT CAST(64683 AS VARBINARY(8)) Result;
Resultat:
+------------+ | Result | |------------| | 0x0000FCAB | +------------+
Observera att CAST()
och CONVERT()
använder lite olika syntaxer. I fallet med CAST()
värdet som ska kastas kommer först, medan det är tvärtom med CONVERT()
.
Exempel 3 – FORMAT()-funktionen
Vi kan också använda FORMAT()
funktion för att formatera decimalvärdet som en hexadecimal sträng.
SELECT FORMAT(64683, 'X') Result;
Resultat:
+----------+ | Result | |----------| | FCAB | +----------+
X
argument är det som anger att det resulterande formatet ska vara hexadecimalt.
Du kan också använda en liten x
för att ange att resultatet använder små bokstäver:
SELECT FORMAT(64683, 'x') Result;
Resultat:
+----------+ | Result | |----------| | fcab | +----------+
Funktionens returvärde är nvarchar . Detta skiljer sig från de andra två funktionerna, som returnerar värdet som en binär konstant (du kan se på 0x
prefix).