Vấn đề của bạn là không có cách dễ dàng để thực hiện việc này cho cả SQLServer và Oracle trong một truy vấn.
Cách đúng để thực hiện việc này cho SQLServer là sử dụng STR:
Select STR(Amount, 18, DecimalPlaces) from myTable;
Cách chính xác để thực hiện việc này cho Oracle là sử dụng to_char:
SELECT to_char (amount, '99999999999999.'||rpad('',DecimalPlaces, '0'))
from MyTable;
Các truy vấn được trình bày bởi jms và Andrew sẽ không hoạt động trong một truy vấn Oracle vì Oracle SQL sử dụng LENGTH () không phải LEN (). Và Oracle sử dụng to_char () không phải Cast ().