In Oracle Database können Sie TO_CHAR()
verwenden Funktion zum Konvertieren einer Zahl in ihr hexadezimales Äquivalent. Verwenden Sie dazu das X
format-Element.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT TO_CHAR(15, 'X')
FROM DUAL;
Ergebnis:
TO_CHAR(15,'X') __________________ F
F ist das hexadezimale Äquivalent zu 15 und das wird zurückgegeben.
Führende Nullen
Sie können diesem Element nur 0
voranstellen (der führende Nullen zurückgibt) oder FM
(was das Auffüllen unterdrückt).
Folgendes passiert, wenn wir ihm 0
voranstellen :
SELECT TO_CHAR(15, '0X')
FROM DUAL;
Ergebnis:
TO_CHAR(15,'0X') ___________________ 0F
Führende Leerzeichen unterdrücken
Wenn Sie weder 0
angeben noch FM
mit X
, dann hat der Rückgabewert immer ein führendes Leerzeichen.
Folgendes passiert, wenn wir FM
verwenden Formatmodifikator zum Unterdrücken von Padding:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;
Ergebnis:
TO_CHAR(15,'FM0X') _____________________ 0F
Das führende Leerzeichen ist verschwunden.
Großbuchstaben vs. Kleinbuchstaben
Übergeben eines großen X
ergibt einen Großbuchstaben-Hexadezimalwert und die Übergabe eines Kleinbuchstabens x
ergibt einen Kleinbuchstaben-Hex-Wert:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;
Ergebnis:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
Nicht ganze Zahlen
Wenn die Zahl keine ganze Zahl ist, wird sie auf die nächste ganze Zahl gerundet:
SELECT
TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL;
Ergebnis:
12.49 12.50 ________ ________ 0000c 0000d