Masalah Anda adalah bahwa tidak ada cara mudah untuk melakukan ini untuk SQLServer dan Oracle dalam satu permintaan.
Cara yang benar untuk melakukan ini untuk SQLServer adalah dengan menggunakan STR:
Select STR(Amount, 18, DecimalPlaces) from myTable;
Cara yang benar untuk melakukan ini untuk Oracle adalah menggunakan to_char:
SELECT to_char (amount, '99999999999999.'||rpad('',DecimalPlaces, '0'))
from MyTable;
Kueri yang disajikan oleh jms dan Andrew tidak akan berfungsi dalam kueri Oracle karena Oracle SQL menggunakan LENGTH() bukan LEN(). Dan Oracle menggunakan to_char() bukan Cast().