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

Formatering af et numerisk SQL-forespørgselsresultat med et vilkårligt antal decimaler

Dit problem er, at der ikke er en nem måde at gøre dette på for både SQLServer og Oracle i én forespørgsel.

Den korrekte måde at gøre dette på for SQLServer er at bruge STR:

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

Den korrekte måde at gøre dette på for Oracle er at bruge to_char:

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

Forespørgslerne præsenteret af jms og Andrew fungerer ikke i en Oracle-forespørgsel, fordi Oracle SQL bruger LENGTH() og ikke LEN(). Og Oracle bruger to_char() ikke Cast().



  1. Anvend COUNT-funktionen på en undergruppe af grupper

  2. Skift kolonnetyper i en stor tabel

  3. Fjern pivot-tabel i MySQL

  4. Log på med LDAP ved hjælp af JSF 2,1 &Apache Tomcat