Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak radzić sobie z utratą precyzji w typach numerycznych JDBC z powodu funkcji grupujących?

Jest to spekulacja oparta na podobnym zachowaniu w sterowniku Postgres postgresql-9.4-1204-jdbc42.jar .

Dla nieokreślonego NUMERIC baza danych nie wydaje się przechowywać żadnych konkretnych informacji na temat precyzji i skali kolumny. Dzięki temu baza danych może wewnętrznie przechowywać wartość w dowolny sposób, który wydaje się odpowiedni. Od https://www.postgresql.org/docs/current/ static/datatype-numeric.html

Od sterownika nie zna maksymalnej implementacji serwera oznacza to, że nie może zwrócić rzeczywistych wartości. Zwraca 0, aby wskazać, że nie zna rzeczywistych wartości i nie chce zgadywać.

Wygląda na to, że sytuacja jest taka sama z Oracle . Maksymalna precyzja może być wyższa, ale przenośność jest gwarantowane tylko do 38 cyfr.

Jeśli chodzi o rozwiązanie problemu w pytaniu, tak jak wskazał StanislavL, możesz wymusić wartość do określonej precyzji/skali przez odlewanie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Krok po kroku R12.2.6 Instalacja EBS na Virtual Box

  2. Co to jest baza danych Oracle?

  3. Zresetuj Sekwencję Oracle, aby miała WARTOŚĆ MIN =1 i liczbę POCZĄTKOWĄ od 1

  4. Oracle Sequence nextval przeskakuje numer w tę i z powrotem

  5. Problem z wieloma zapytaniami Oracle