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