sql >> Database teknologi >  >> RDS >> Oracle

Sådan konverteres decimal til hexadecimal ved hjælp af TO_CHAR() i Oracle

I Oracle Database kan du bruge TO_CHAR() funktion til at konvertere et tal til dets hexadecimale ækvivalent. For at gøre dette skal du bruge X formatelement.

Eksempel

Her er et eksempel til demonstration:

SELECT TO_CHAR(15, 'X')
FROM DUAL;

Resultat:

   TO_CHAR(15,'X') 
__________________ 
 F                

F er hexadecimal svarende til 15, og det er det, der returneres.

Første nuller

Du kan kun sætte 0 foran dette element (som returnerer indledende nuller) eller FM (hvilket undertrykker polstring).

Her er, hvad der sker, når vi går foran med 0 :

SELECT TO_CHAR(15, '0X')
FROM DUAL;

Resultat:

   TO_CHAR(15,'0X') 
___________________ 
 0F                

Undtryk førende tomme felter

Hvis du hverken angiver 0 heller ikke FM med X , så har returværdien altid et indledende tomrum.

Her er, hvad der sker, når vi bruger FM formatmodifikator for at undertrykke polstring:

SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;

Resultat:

   TO_CHAR(15,'FM0X') 
_____________________ 
0F                    

Føringsrummet er forsvundet.

Store bogstaver vs. små bogstaver

Sender et stort X resulterer i en hex-værdi med store bogstaver og et lille x resulterer i en hex-værdi med små bogstaver:

SELECT  
    TO_CHAR(15345, 'fm0XXXX'),
    TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;

Resultat:

   TO_CHAR(15345,'FM0XXXX')    TO_CHAR(15345,'FM0XXXX') 
___________________________ ___________________________ 
03BF1                       03bf1                      

Ikke-heltal

Hvis tallet ikke er et heltal, afrundes det til nærmeste 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   

  1. Operatøren findes ikke:json =json

  2. Sådan fremskynder du din SQL-server ved hjælp af overvågning af databaseydeevne

  3. Microsoft Access Table Tips – Tricks og retningslinjer Del 4

  4. GDPR-overholdelse og din SQL-server