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

Menyimpan angka nol di database dengan JPA dan Oracle

Anda tidak dapat menyelesaikannya, dan saya sarankan itu bukan masalah. Begitulah cara Oracle menyimpan NUMBER nilai:dengan presisi paling sedikit yang dibutuhkan. Jika Anda memasukkan harga sebagai 4.00 itu akan disimpan sebagai 4 .

Perhatikan bahwa Java tidak akan default ke dua desimal saat menampilkan nilai. Anda perlu menentukan jumlah tempat desimal.

Dan, jika memungkinkan, saya akan menggunakan BigDecimal bukannya float untuk harga. float jenis tidak tepat. Alternatifnya adalah dengan menggunakan salah satu tipe integer (int atau long ) dan kelola sendiri tempat desimalnya.

Untuk memformat harga untuk ditampilkan dalam kode Java Anda, gunakan String.format("%.2f", price) .

Untuk memformat harga dalam kueri Oracle, gunakan TO_CHAR :

SELECT TO_CHAR(price, '999999990.00'), etc.

Pilih jumlah placeholder yang terbaik untuk Anda, dan perhatikan bahwa Oracle akan memberikan ruang ekstra di awal hasil. Ini dimaksudkan untuk menahan tanda minus jika angkanya negatif, tetapi untuk nol/positif itu adalah spasi. Untuk menghilangkan ruang, gunakan FM pengubah di TO_CHAR :

SELECT TO_CHAR(price, 'FM999999990.00'), etc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengatasi ORA-00911:kesalahan karakter tidak valid?

  2. memperbarui tabel oracle yang sangat besar

  3. PLS-00386:jenis ketidakcocokan ditemukan antara kursor FETCH dan variabel INTO

  4. Nonaktifkan pemicu dan aktifkan kembali pemicu tetapi hindari perubahan tabel untuk sementara

  5. Bagaimana memahami statistik file jejak di Oracle. Seperti CPU, waktu yang telah berlalu, kueri...dll