Oracle
 sql >> Database >  >> RDS >> Oracle

Formattazione di un risultato di una query numerica SQL con un numero arbitrario di cifre decimali

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().