PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

PostgreSQL:Tipe Data mana yang harus digunakan untuk Mata Uang?

Sumber Anda sama sekali tidak resmi. Itu berasal dari tahun 2011 dan saya bahkan tidak mengenali penulisnya. Jika jenis uang secara resmi "tidak disarankan" PostgreSQL akan mengatakannya di manual - padahal tidak.

Untuk sumber yang lebih resmi , baca utas ini di pgsql-general (mulai minggu ini saja!), dengan pernyataan dari pengembang inti termasuk D'Arcy J.M. Cain (penulis asli jenis uang) dan Tom Lane:

Jawaban terkait (dan komentar!) tentang peningkatan dalam rilis terbaru:

  • Laporan Jasper:tidak dapat memperoleh nilai untuk bidang 'x' dari kelas 'org.postgresql.util.PGmoney'

Pada dasarnya, money memiliki kegunaannya (sangat terbatas). Wiki Postgres menyarankan untuk menghindarinya, kecuali untuk kasus-kasus yang didefinisikan secara sempit. Keuntungan dibandingkan numeric adalah kinerja .

decimal hanyalah sebuah alias untuk numeric di Postgres, dan banyak digunakan untuk data moneter, menjadi tipe "presisi sewenang-wenang". Panduan:

Jenis numeric dapat menyimpan angka dengan jumlah digit yang sangat banyak. Direkomendasikan untuk menyimpan jumlah uang dan besaran lain yang membutuhkan ketelitian.

Secara pribadi, saya suka menyimpan mata uang sebagai integer mewakili sen jika sen pecahan tidak pernah muncul (pada dasarnya di mana uang masuk akal). Itu lebih efisien daripada opsi lain yang disebutkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pernyataan GROUP BY + CASE

  2. Cara Mengubah Gaya Batas Tabel di Hasil Query psql

  3. Batas kinerja solusi replikasi logis

  4. Array integer Postgres sebagai parameter?

  5. Permintaan SQL untuk menemukan catatan dengan ID tidak di tabel lain