sql >> Databáze >  >> RDS >> Oracle

Formátování výsledku numerického dotazu SQL s libovolným počtem desetinných míst

Váš problém je, že neexistuje snadný způsob, jak to udělat pro SQLServer i Oracle v jednom dotazu.

Správný způsob, jak to provést pro SQLServer, je použít STR:

Select STR(Amount, 18, DecimalPlaces) from myTable;

Správný způsob, jak to udělat pro Oracle, je použít to_char:

SELECT to_char (amount, '99999999999999.'||rpad('',DecimalPlaces, '0')) 
from MyTable;

Dotazy prezentované jms a Andrewem nebudou fungovat v dotazu Oracle, protože Oracle SQL používá LENGTH(), nikoli LEN(). A Oracle používá to_char() ne Cast().



  1. EclipseLink selže při načítání skalární booleovské hodnoty

  2. Jak mohu převést všechny sloupce v databázi na velikost písmen

  3. T-SQL:Odstranění všech duplicitních řádků, ale ponechání jednoho

  4. Použijte LIMIT k stránkování výsledků v dotazu MySQL