A PL/SQL a skalártípusok családjai között értelmezi a konverziót. A családok között a PL/SQL automatikusan implicit konverziót alkalmaz, amennyiben az lehetséges. Természetesen ekkor a konvertálandó értéknek mindkét típusnál értelmezhetőnek kell lenni. Például a ‘123’ CHAR típusú érték gond nélkül konvertálható a 123 NUMBER típusú értékre.
A 3.3. táblázat a skalár alaptípusok közötti lehetséges implicit konverziókat szemlélteti.
PL/SQL alkalmazások írásánál javallott az explicit konverziós függvények használata. Az implicit konverzió ugyanis esetleges, verziófüggő, a szövegkörnyezet által meghatározott, tehát a kód nehezebben áttekinthető, kevésbé hordozható és karbantartható.
A 3.4. táblázat a leggyakoribb konverziós függvények rövid leírását adja.
3.3. táblázat - Implicit konverziók
BIN_DOU |
BIN_FLO |
BIN_INT |
BLOB |
CHAR |
CLOB |
DATE |
LONG |
NUMB |
PLS_INT |
RAW |
UROWID |
VARCHAR2 |
|
BIN_DOU |
X |
X |
X |
X |
X |
X | |||||||
BIN_FLO | X |
X |
X |
X |
X |
X |
|||||||
BIN_INT |
X |
X |
X |
X |
X |
X |
X |
||||||
BLOB |
X |
||||||||||||
CHAR |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
||
CLOB |
X |
X |
|||||||||||
DATE |
X |
X |
X |
||||||||||
LONG |
X |
X |
X |
X |
X |
||||||||
NUMBER |
X |
X |
X |
X |
X |
X |
X |
||||||
PLS_INT |
X |
X |
X |
X |
X |
X | |||||||
RAW |
X |
X |
X |
X |
|||||||||
UROWID |
X |
X |
|||||||||||
VARCHAR2 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
3.4. táblázat - Konverziós függvények
Függvény |
Leírás |
Konvertálható |
TO_CHAR |
A megadott paramétert VARCHAR2 típusúra konvertálja, opcionálisan megadható a formátum. |
Numerikus, dátum |
TO_DATE |
A megadott paramétert DATE típusúra konvertálja, opcionálisan megadható a formátum. |
Karakteres |
TO_TIMESTAMP |
A megadott paramétert TIMESTAMP típusúra konvertálja, opcionálisan megadható a formátum. |
Karakteres |
TO_TIMESTAMP_TZ |
A megadott paramétert TIMESTAMP WITH TIMEZONE típusúra konvertálja, opcionálisan megadható a formátum. |
Karakteres |
TO_DSINTERVAL |
A megadott paramétert INTERVAL DAY TO SECOND típusúra konvertálja, opcionálisan megadható a formátum. |
Karakteres |
TO_YMINTERVAL | A megadott paramétert INTERVAL YEAR TO MONTH típusúra konvertálja, opcionálisan megadható a formátum. |
Karakteres |
TO_NUMBER |
A megadott paramétert NUMBER típusúra konvertálja, opcionálisan megadható a formátum. |
Karakteres |
TO_BINARY_DOUBLE |
A megadott paramétert BINARY_DOUBLE típusúra konvertálja, opcionálisan megadható a formátum. |
Karakteres, Numerikus |
TO_BINARY_FLOAT |
A megadott paramétert BINARY_FLOAT típusúra konvertálja, opcionálisan megadható a formátum. |
Karakteres, Numerikus |
RAWTOHEX |
A paraméterként megadott bináris érték hexadecimális reprezentációját adja meg. |
Raw |
HEXTORAW |
A paraméterként megadott hexadecimális reprezentációjú értéket a bináris formájában adja meg. |
Karakteres (hexadecimális reprezentációt kell tartalmaznia). |
CHARTOROWID |
A karakteres reprezentációjával adott ROWID belső bináris alakját adja meg. |
Karakteres (18-karakteres rowid formátumot kell tartalmaznia). |
ROWIDTOCHAR |
A paraméterként megadott belső bináris reprezentációjú ROWID külső karakteres reprezentációját adja meg. |
Rowid |