sql >> Database >  >> RDS >> Oracle

Opslaan van volgnullen in database met JPA en Oracle

Je kunt het niet oplossen, en ik stel voor dat het geen probleem is. Zo bewaart Oracle NUMBER waarden:met de minste precisie die nodig is. Als u de prijs heeft ingevoerd als 4.00 het zou worden opgeslagen als 4 .

Merk op dat Java ook niet standaard twee decimalen gebruikt bij het weergeven van de waarde. U moet het aantal decimalen opgeven.

En, indien mogelijk, zou ik BigDecimal . gebruiken in plaats van float voor de prijs. De float type is niet precies. Een alternatief is om een ​​van de integer-types te gebruiken (int of long ) en beheer zelf de decimalen.

Om de prijs voor weergave in uw Java-code op te maken, gebruikt u String.format("%.2f", price) .

Gebruik TO_CHAR :

SELECT TO_CHAR(price, '999999990.00'), etc.

Kies het aantal tijdelijke aanduidingen dat het beste bij u past en houd er rekening mee dat Oracle een extra spatie aan het begin van het resultaat zal plaatsen. Het is bedoeld om een ​​minteken te bevatten als het getal negatief is, maar voor nul/positief is het een spatie. Gebruik de FM . om van de ruimte af te komen modifier in de TO_CHAR :

SELECT TO_CHAR(price, 'FM999999990.00'), etc.



  1. Gedenormaliseerde databasetabellen bijwerken

  2. Left Join presteert beter dan Inner Join?

  3. Database herstellen van .mdf- en .ldf-bestanden van SQL Server 2008

  4. DSN-loze verbinding met mysql-server in ms-access zonder gebruikersnaam en wachtwoord te onthouden