sql >> Databasteknik >  >> RDS >> Oracle

Formatera ett numeriskt SQL-frågeresultat med ett godtyckligt antal decimaler

Ditt problem är att det inte finns ett enkelt sätt att göra detta för både SQLServer och Oracle i en fråga.

Det korrekta sättet att göra detta för SQLServer är att använda STR:

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

Det korrekta sättet att göra detta för Oracle är att använda to_char:

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

Frågorna som presenteras av jms och Andrew fungerar inte i en Oracle-fråga eftersom Oracle SQL använder LENGTH() inte LEN(). Och Oracle använder to_char() inte Cast().



  1. Ställa in Big Query-variabler som mysql

  2. Hur exporterar man data som CSV-format från SQL Server med sqlcmd?

  3. Vad händer med matchande sträng för MySQL heltalsfält?

  4. io.vertx.mysqlclient.MySQLPool.query ().execute körs aldrig riktigt och returnerar ingenting