I Oracle Database kan du bruge TO_CHAR()
funktion til at konvertere et tal til dets hexadecimale ækvivalent. For at gøre dette skal du bruge X
formatelement.
Eksempel
Her er et eksempel til demonstration:
SELECT TO_CHAR(15, 'X')
FROM DUAL;
Resultat:
TO_CHAR(15,'X') __________________ F
F er hexadecimal svarende til 15, og det er det, der returneres.
Første nuller
Du kan kun sætte 0
foran dette element (som returnerer indledende nuller) eller FM
(hvilket undertrykker polstring).
Her er, hvad der sker, når vi går foran med 0
:
SELECT TO_CHAR(15, '0X')
FROM DUAL;
Resultat:
TO_CHAR(15,'0X') ___________________ 0F
Undtryk førende tomme felter
Hvis du hverken angiver 0
heller ikke FM
med X
, så har returværdien altid et indledende tomrum.
Her er, hvad der sker, når vi bruger FM
formatmodifikator for at undertrykke polstring:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;
Resultat:
TO_CHAR(15,'FM0X') _____________________ 0F
Føringsrummet er forsvundet.
Store bogstaver vs. små bogstaver
Sender et stort X
resulterer i en hex-værdi med store bogstaver og et lille x
resulterer i en hex-værdi med små bogstaver:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;
Resultat:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
Ikke-heltal
Hvis tallet ikke er et heltal, afrundes det til nærmeste heltal:
SELECT
TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL;
Resultat:
12.49 12.50 ________ ________ 0000c 0000d