Il tuo problema è che non esiste un modo semplice per farlo sia per SQLServer che per Oracle in una query.
Il modo corretto per eseguire questa operazione per SQLServer è utilizzare STR:
Select STR(Amount, 18, DecimalPlaces) from myTable;
Il modo corretto per farlo per Oracle è usare to_char:
SELECT to_char (amount, '99999999999999.'||rpad('',DecimalPlaces, '0'))
from MyTable;
Le query presentate da jms e Andrew non funzioneranno in una query Oracle perché Oracle SQL utilizza LENGTH() non LEN(). E Oracle usa to_char() non Cast().