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

Presisi BigDecimal tidak bertahan dengan anotasi JPA

Saya menemukan jawabannya. Huzzah!

Saya mencoba menjalankan kueri berikut melalui antarmuka Oracle Apex:

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

Saya menerima kesalahan yang menyatakan bahwa kolom yang berisi data tidak dapat dimodifikasi untuk memiliki presisi yang lebih rendah atau skala yang lebih kecil. Ini adalah masalah saya!

Karena saya mencoba mengubah tabel dengan data yang sudah ada, saya perlu menghapus tabel dan menginisialisasi ulang, atau mengubah kolom agar lebih presisi dan berskala.

Saya mencoba kueri berikut dengan sukses:

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

Alasannya adalah saya ingin menambahkan 7 tempat presisi di sebelah kanan desimal, jadi saya menambahkan 7 ke presisi keseluruhan untuk mengimbangi peningkatan skala. Dengan begitu, kolom dapat menyimpan semua presisi yang ada di kiri desimal sambil menambahkan presisi di sisi kanan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Indeks pada tampilan (Oracle)

  2. Cara memperbaiki kesalahan "Tidak ada pemetaan Dialek untuk tipe JDBC:-1" di java

  3. Cara Menghapus Spasi Trailing setelah Nama Bulan di Oracle

  4. Tipe data Tanggal Oracle, diubah menjadi 'YYYY-MM-DD HH24:MI:SS TMZ' melalui SQL

  5. Jumlah kolom