Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana menangani hilangnya presisi pada tipe numerik JDBC karena fungsi pengelompokan

Ini adalah spekulasi berdasarkan perilaku serupa di driver Postgres postgresql-9.4-1204-jdbc42.jar .

Untuk NUMERIC yang tidak ditentukan database tampaknya tidak menyimpan informasi tertentu tentang ketepatan dan skala kolom. Ini memungkinkan database untuk menyimpan nilai secara internal dengan cara apa pun yang sesuai. Dari https://www.postgresql.org/docs/current/ static/datatype-numeric.html

Sejak pengemudi tidak tahu apa implementasi spesifik maksimum dari server adalah, itu tidak dapat mengembalikan nilai sebenarnya. Ia mengembalikan 0 untuk menunjukkan bahwa ia tidak mengetahui nilai sebenarnya, dan tidak ingin membuat tebakan yang terpelajar.

Sepertinya situasinya sama dengan Oracle . Presisi maksimal mungkin lebih tinggi, tetapi portabilitas dijamin hanya sampai 38 digit.

Untuk memecahkan masalah dalam pertanyaan, seperti yang ditunjukkan StanislavL, Anda dapat memaksa nilai ke presisi/skala tertentu dengan mentransmisi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pembuatan indeks

  2. oracle melakukan pembunuhan

  3. Bisakah pemicu Oracle dinonaktifkan untuk sesi saat ini?

  4. Bagaimana cara menyimpan array byte di Oracle?

  5. Migrasi kolom Oracle DATE ke TIMESTAMP dengan zona waktu