Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Formatando um resultado de consulta numérica SQL com um número arbitrário de casas decimais


Seu problema é que não há uma maneira fácil de fazer isso para SQLServer e Oracle em uma consulta.

A maneira correta de fazer isso para SQLServer é usar STR:
Select STR(Amount, 18, DecimalPlaces) from myTable;

A maneira correta de fazer isso para Oracle é usando to_char:
SELECT to_char (amount, '99999999999999.'||rpad('',DecimalPlaces, '0')) 
from MyTable;

As consultas apresentadas por jms e Andrew não funcionarão em uma consulta Oracle porque o Oracle SQL usa LENGTH() e não LEN(). E o Oracle usa to_char() e não Cast().