In Oracle Database kunt u de TO_CHAR() functie om een getal om te zetten in zijn hexadecimale equivalent. Gebruik hiervoor de X formaatelement.
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT TO_CHAR(15, 'X')
FROM DUAL; Resultaat:
TO_CHAR(15,'X') __________________ F
F is het hexadecimale equivalent van 15 en dat is dus wat wordt geretourneerd.
Vooraanstaande nullen
U kunt dit element alleen voorafgaan met 0 (die voorloopnullen retourneert) of FM (wat opvulling onderdrukt).
Dit gebeurt er als we het voorafgaan met 0 :
SELECT TO_CHAR(15, '0X')
FROM DUAL; Resultaat:
TO_CHAR(15,'0X') ___________________ 0F
Voorloopspaties onderdrukken
Als u geen van beide 0 . opgeeft noch FM met X , dan heeft de geretourneerde waarde altijd één voorloopspatie.
Dit is wat er gebeurt als we de FM gebruiken formaatmodifier om opvulling te onderdrukken:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL; Resultaat:
TO_CHAR(15,'FM0X') _____________________ 0F
De leidende spatie is verdwenen.
Hoofdletters versus kleine letters
Een hoofdletter X doorgeven resulteert in een hexadecimale waarde in hoofdletters en een kleine x resulteert in een kleine hexadecimale waarde:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL; Resultaat:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
Niet gehele getallen
Als het getal geen geheel getal is, wordt het afgerond op het dichtstbijzijnde gehele getal:
SELECT
TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL; Resultaat:
12.49 12.50 ________ ________ 0000c 0000d