Hier zijn 3 manieren om van decimaal naar hexadecimaal te converteren in SQL Server.
Voorbeeld 1 – De CONVERT() Functie
Eerst gebruiken we de CONVERT() functie. Hiermee kunt u tussen gegevenstypen in SQL Server converteren.
Hier is een voorbeeld van het gebruik van deze functie om een decimale waarde om te zetten in hexadecimaal:
SELECT CONVERT(VARBINARY(8), 64683) Result;
Resultaat:
+------------+ | Result | |------------| | 0x0000FCAB | +------------+
In dit geval converteren we de decimale waarde 64683 naar VARBINARY(8) .
Voorbeeld 2 – De CAST()-functie
We kunnen ook de CAST() . gebruiken functie om hetzelfde te doen als in het vorige voorbeeld:
SELECT CAST(64683 AS VARBINARY(8)) Result;
Resultaat:
+------------+ | Result | |------------| | 0x0000FCAB | +------------+
Merk op dat CAST() en CONVERT() gebruik iets andere syntaxis. In het geval van CAST() de te casten waarde komt eerst, terwijl het andersom is met CONVERT() .
Voorbeeld 3 – De FORMAT() Functie
We kunnen ook de FORMAT() . gebruiken functie om de decimale waarde op te maken als een hexadecimale tekenreeks.
SELECT FORMAT(64683, 'X') Result;
Resultaat:
+----------+ | Result | |----------| | FCAB | +----------+
De X argument is wat specificeert dat het resulterende formaat hexadecimaal moet zijn.
U kunt ook een kleine letter x . gebruiken om aan te geven dat het resultaat kleine letters gebruikt:
SELECT FORMAT(64683, 'x') Result;
Resultaat:
+----------+ | Result | |----------| | fcab | +----------+
De retourwaarde van deze functie is nvarchar . Dit is anders dan de andere twee functies, die de waarde als een binaire constante retourneren (je kunt dit zien aan de 0x voorvoegsel).