sql >> Database >  >> RDS >> Oracle

Een numeriek SQL-queryresultaat opmaken met een willekeurig aantal decimalen

Uw probleem is dat er geen gemakkelijke manier is om dit voor zowel SQLServer als Oracle in één query te doen.

De juiste manier om dit te doen voor SQLServer is om STR te gebruiken:

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

De juiste manier om dit te doen voor Oracle is het gebruik van to_char:

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

De query's die door jms en Andrew worden gepresenteerd, werken niet in een Oracle-query omdat Oracle SQL LENGTH() gebruikt en niet LEN(). En Oracle gebruikt to_char() niet Cast().



  1. Retourneer alle bestandsgroepen voor de huidige database in SQL Server

  2. AWS EC2-beveiligingsgroepen lijken niet van toepassing te zijn op openbare IP's

  3. Het resultaat van een uitdrukking (bijv. Functie-aanroep) gebruiken in een lijst met opgeslagen procedureparameters?

  4. Hoe een rij in SQLite te krijgen op index (niet op id)