sql >> Database >  >> RDS >> Oracle

BigDecimal-precisie blijft niet behouden bij JPA-annotaties

Ik heb het antwoord gevonden. Hoezo!

Ik heb geprobeerd de volgende query uit te voeren via de Oracle Apex-interface:

alter table NODE modify (WEIGHTEDSCORE NUMBER(12, 9));

Ik heb een foutmelding ontvangen waarin staat dat een kolom met gegevens niet kan worden gewijzigd om minder precisie of schaal te hebben. Dit was mijn probleem!

Omdat ik probeerde de tabel te wijzigen met bestaande gegevens, moest ik de tabel laten vallen en opnieuw initialiseren, of de kolom wijzigen om alleen meer precisie en schaal te hebben.

Ik heb de volgende zoekopdracht met succes geprobeerd:

alter table NODE modify (WEIGHTEDSCORE NUMBER(26, 9));

De redenering is dat ik 7 precisieplaatsen rechts van het decimaalteken wil toevoegen, dus ik voeg 7 toe aan de algehele precisie om de schaalvergroting te compenseren. Op die manier kan de kolom alle bestaande precisie links van het decimaalteken behouden en precisie aan de rechterkant toevoegen.



  1. SSRS-rapport dat een tabel opmaakt om gegevens naast elkaar weer te geven

  2. Gegroepeerde tekenreeksaggregatie / LISTAGG voor SQL Server

  3. Logstash leest geen nieuwe items van MySQL in

  4. Hoe een procentuele waarde op te slaan?