В Oracle Database можете да използвате TO_CHAR()
функция за преобразуване на число в неговия шестнадесетичен еквивалент. За да направите това, използвайте X
форматен елемент.
Пример
Ето пример за демонстрация:
SELECT TO_CHAR(15, 'X')
FROM DUAL;
Резултат:
TO_CHAR(15,'X') __________________ F
F е шестнадесетичният еквивалент на 15 и това е, което се връща.
Водещи нули
Можете да предхождате този елемент само с 0
(който връща водещи нули) или FM
(което потиска запълването).
Ето какво се случва, когато го предхождаме с 0
:
SELECT TO_CHAR(15, '0X')
FROM DUAL;
Резултат:
TO_CHAR(15,'0X') ___________________ 0F
Потискане на водещите празни места
Ако не посочите нито 0
нито FM
с X
, тогава връщаната стойност винаги има едно водещо празно място.
Ето какво се случва, когато използваме FM
модификатор на формат за потискане на запълване:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;
Резултат:
TO_CHAR(15,'FM0X') _____________________ 0F
Водещото пространство изчезна.
Горни срещу малки букви
Подаване на главни букви X
води до шестнадесетична стойност с главни букви и подаване на малка буква x
води до шестнадесетична стойност с малки букви:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;
Резултат:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
Не цели числа
Ако числото не е цяло число, то се закръглява до най-близкото цяло число:
SELECT
TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL;
Резултат:
12.49 12.50 ________ ________ 0000c 0000d