Váš problém je, že neexistuje snadný způsob, jak to udělat pro SQLServer i Oracle v jednom dotazu.
Správný způsob, jak to provést pro SQLServer, je použít STR:
Select STR(Amount, 18, DecimalPlaces) from myTable;
Správný způsob, jak to udělat pro Oracle, je použít to_char:
SELECT to_char (amount, '99999999999999.'||rpad('',DecimalPlaces, '0'))
from MyTable;
Dotazy prezentované jms a Andrewem nebudou fungovat v dotazu Oracle, protože Oracle SQL používá LENGTH(), nikoli LEN(). A Oracle používá to_char() ne Cast().