Вашият проблем е, че няма лесен начин да направите това както за SQLServer, така и за Oracle в една заявка.
Правилният начин да направите това за SQLServer е да използвате STR:
Select STR(Amount, 18, DecimalPlaces) from myTable;
Правилният начин да направите това за Oracle е да използвате to_char:
SELECT to_char (amount, '99999999999999.'||rpad('',DecimalPlaces, '0'))
from MyTable;
Заявките, представени от jms и Andrew, няма да работят в заявка на Oracle, защото Oracle SQL използва LENGTH(), а не LEN(). И Oracle използва to_char(), а не Cast().