W Oracle Database możesz użyć TO_CHAR()
funkcja konwertująca liczbę na jej odpowiednik szesnastkowy. Aby to zrobić, użyj X
element formatu.
Przykład
Oto przykład do zademonstrowania:
SELECT TO_CHAR(15, 'X')
FROM DUAL;
Wynik:
TO_CHAR(15,'X') __________________ F
F to szesnastkowy odpowiednik 15, więc to jest zwracane.
Wiodące zera
Możesz poprzedzić ten element tylko 0
(co zwraca wiodące zera) lub FM
(co tłumi dopełnienie).
Oto, co się dzieje, gdy poprzedzimy go 0
:
SELECT TO_CHAR(15, '0X')
FROM DUAL;
Wynik:
TO_CHAR(15,'0X') ___________________ 0F
Pomiń początkowe odstępy
Jeśli nie określisz żadnego 0
ani FM
z X
, wtedy zwracana wartość ma zawsze jedną wiodącą spację.
Oto, co się dzieje, gdy używamy FM
modyfikator formatu do pominięcia dopełnienia:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;
Wynik:
TO_CHAR(15,'FM0X') _____________________ 0F
Wiodąca przestrzeń zniknęła.
Wielkie a małe litery
Przekazywanie wielkich liter X
skutkuje wartością szesnastkową wielką literą i przekazaniem małej x
daje w wyniku małą wartość szesnastkową:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;
Wynik:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
Nie liczby całkowite
Jeśli liczba nie jest liczbą całkowitą, jest zaokrąglana do najbliższej liczby całkowitej:
SELECT
TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL;
Wynik:
12.49 12.50 ________ ________ 0000c 0000d