sql >> Databáze >  >> RDS >> Oracle

Přesnost BigDecimal nebyla u anotací JPA zachována

Našel jsem odpověď. Huzzah!

Pokusil jsem se provést následující dotaz prostřednictvím rozhraní Oracle Apex:

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

Zobrazila se chyba oznamující, že sloupec obsahující data nelze upravit tak, aby měl menší přesnost nebo menší měřítko. To byl můj problém!

Protože jsem se pokoušel upravit tabulku pomocí existujících dat, potřeboval jsem tabulku buď zrušit a znovu ji inicializovat, nebo změnit sloupec tak, aby byl pouze přesnější a škálovatelnější.

Pokusil jsem se o následující dotaz s úspěchem:

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

Důvodem je, že chci přidat 7 míst přesnosti vpravo od desetinné čárky, takže přidávám 7 k celkové přesnosti, abych kompenzoval nárůst měřítka. Tímto způsobem si sloupec může ponechat veškerou existující přesnost na levé straně desetinné čárky, zatímco přesnost přidává na pravé straně.



  1. Jaké jsou výhody a nevýhody ponechání SQL v uložených procesech versus kód

  2. Jaký je optimální způsob získávání záznamů z databáze ve scénáři, kdy musíte předat seznamy, z nichž každý má více než 2000 parametrů?

  3. Postgres SELECT, kde WHERE je UUID nebo řetězec

  4. Jak identifikovat první mezeru ve více počátečních a konečných obdobích pro každý odlišný člen v T-SQL