sql >> Database >  >> RDS >> Oracle

Hoe decimaal naar hexadecimaal te converteren met TO_CHAR() in Oracle

In Oracle Database kunt u de TO_CHAR() functie om een ​​getal om te zetten in zijn hexadecimale equivalent. Gebruik hiervoor de X formaatelement.

Voorbeeld

Hier is een voorbeeld om te demonstreren:

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

Resultaat:

   TO_CHAR(15,'X') 
__________________ 
 F                

F is het hexadecimale equivalent van 15 en dat is dus wat wordt geretourneerd.

Vooraanstaande nullen

U kunt dit element alleen voorafgaan met 0 (die voorloopnullen retourneert) of FM (wat opvulling onderdrukt).

Dit gebeurt er als we het voorafgaan met 0 :

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

Resultaat:

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

Voorloopspaties onderdrukken

Als u geen van beide 0 . opgeeft noch FM met X , dan heeft de geretourneerde waarde altijd één voorloopspatie.

Dit is wat er gebeurt als we de FM gebruiken formaatmodifier om opvulling te onderdrukken:

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

Resultaat:

   TO_CHAR(15,'FM0X') 
_____________________ 
0F                    

De leidende spatie is verdwenen.

Hoofdletters versus kleine letters

Een hoofdletter X doorgeven resulteert in een hexadecimale waarde in hoofdletters en een kleine x resulteert in een kleine hexadecimale waarde:

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

Resultaat:

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

Niet gehele getallen

Als het getal geen geheel getal is, wordt het afgerond op het dichtstbijzijnde gehele getal:

SELECT  
    TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
    TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL;

Resultaat:

   12.49    12.50 
________ ________ 
0000c    0000d   

  1. Door komma's gescheiden waarden splitsen in Oracle

  2. kolommen bijwerken met een volgnummer mysql

  3. Hoe lat en lang te krijgen van sdo_geometry in oracle

  4. Fout bij gebruik van oracle.dataaccess.dll