I Oracle Database kan du använda TO_CHAR()
funktion för att konvertera ett tal till dess hexadecimala ekvivalent. För att göra detta, använd X
formatelement.
Exempel
Här är ett exempel att visa:
SELECT TO_CHAR(15, 'X')
FROM DUAL;
Resultat:
TO_CHAR(15,'X') __________________ F
F är den hexadecimala motsvarande 15 och det är det som returneras.
Inledande nollor
Du kan bara föregå detta element med 0
(som returnerar inledande nollor) eller FM
(vilket dämpar stoppning).
Här är vad som händer när vi föregår det med 0
:
SELECT TO_CHAR(15, '0X')
FROM DUAL;
Resultat:
TO_CHAR(15,'0X') ___________________ 0F
Undertryck ledande tomrum
Om du inte anger 0
inte heller FM
med X
, då har returvärdet alltid ett inledande tomrum.
Det här är vad som händer när vi använder FM
formatmodifierare för att undertrycka utfyllnad:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;
Resultat:
TO_CHAR(15,'FM0X') _____________________ 0F
Det inledande utrymmet har försvunnit.
Verlor vs gemener
Skickar ett versal X
resulterar i ett hexadecimalt värde och ett gemen x
resulterar i ett hexadecimalt värde:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;
Resultat:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
Icke heltal
Om talet inte är ett heltal, avrundas det till närmaste 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