Príklad, ako prekonvertovať číslo z desiatkovej (decimálnej) sústavy na šestnástkovú (hexadecimálnu) sústavu:
SQL> SELECT TO_CHAR(255, 'XXXX') HEX FROM DUAL;
Výstup:
>HEX
>---
>FF
Príklad, ako prekonvertovať číslo šestnástkovej (hexadecimálnej) sústavy na desiatkovú (decimálnu) sústavu:
SQL> SELECT TO_NUMBER('AA', 'XX') DEC FROM DUAL;
Výstup:
>DEC
>---
>170
Hotovo.
Vysvetlenie:
Na celé toto sme použili zabudované oracle SQL funkcie TO_CHAR a TO_NUMBER. Podrobný popis týchto funkcií nebudem uvádzať, nakoľko sú podrobne rozpísané na oracle stránkach.
Pre nás budú nateraz postačujúce tieto základné informácie.
Konverzia čísla z desiatkovej (decimálnej) sústavy na šestnástkovú (hexadecimálnu) sústavu: TO_CHAR(255, 'XXXX' )
Funkciu TO_CHAR som použil na konverziu čísla desiatkovej sústavy na šestnástkovú z dôvodu, že šestnástková sústava obsahuje aj znaky A,B,C,D,E,F.
Výstup z tejto funkcie bude reťazec znakov. Prvý parameter je konvertované decimálne číslo 255 a druhý maska. Pomocou masky sa dajú kovertovať a upravovať tvary rôznych dátových typov na reťazec.
Napríklad rôzne tvary reálnych čísel, dátumov, časových pásiem, atď.
Konverzia čísla z šestnástkovej (hexadecimálnej) sústavy na desiatkovú (decimálnu) sústavu: TO_NUMBER('AA', 'XX')
Pre tento prípad som použil opačnú funkciu TO_NUMBER. Touto funkciou konvertujeme reťazce na čísla. Konvertujeme hexadecimálne číslo 'AA', ktoré je reprezentované reťazcom na celé číslo.
Prvý parameter je konvertované hexadecimálne číslo a druhý maska.
S pozdravom