Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да конвертирате десетичен в шестнадесетичен с помощта на TO_CHAR() в Oracle

В 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   

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете PL/SQL пакети в базата данни на Oracle

  2. Инсталиране на софтуер Oracle Database 12c на Windows

  3. HQL е null И !=null в колона на Oracle

  4. проблем с използването на параметрите на Oracle в SELECT IN

  5. При влизане в режим на готовност е получена грешка 1033