PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PostgreSQL:Loại dữ liệu nào nên được sử dụng cho Tiền tệ?

Nguồn của bạn không phải là chính thức. Nó có từ năm 2011 và tôi thậm chí không nhận ra các tác giả. Nếu loại tiền được chính thức "không khuyến khích" thì PostgreSQL sẽ nói như vậy trong hướng dẫn - điều mà không phải.

Để có nguồn chính thức hơn , hãy đọc chủ đề này trong pgsql-general (chỉ từ tuần này!), với các tuyên bố từ các nhà phát triển cốt lõi bao gồm D'Arcy J.M. Cain (tác giả gốc của loại tiền) và Tom Lane:

Câu trả lời liên quan (và nhận xét!) Về những cải tiến trong các bản phát hành gần đây:

  • Báo cáo Jasper:không thể nhận giá trị cho trường 'x' của lớp 'org.postgresql.util.PGmoney'

Về cơ bản, money có (rất hạn chế) sử dụng của nó. Postgres Wiki đề nghị phần lớn tránh nó, ngoại trừ những trường hợp được xác định hẹp. Lợi thế so với numeric hiệu suất .

decimal chỉ là bí danh cho numeric trong Postgres và được sử dụng rộng rãi cho dữ liệu tiền tệ, là loại "độ chính xác tùy ý". Hướng dẫn sử dụng:

Loại numeric có thể lưu trữ các số với một số lượng rất lớn các chữ số. Nó đặc biệt được khuyến khích để lưu trữ các số tiền và các định lượng khác khi yêu cầu độ chính xác.

Cá nhân tôi muốn lưu trữ tiền tệ dưới dạng integer đại diện cho Cents nếu Cents phân số không bao giờ xảy ra (về cơ bản khi tiền có ý nghĩa). Điều đó hiệu quả hơn bất kỳ tùy chọn nào khác trong số các tùy chọn đã đề cập.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nối chuỗi trong PostgreSQL

  2. Các đối tượng lớn có thể không được sử dụng trong chế độ tự động cam kết

  3. pgmemcache so với Infinite Cache

  4. nhận id của nhiều hàng được chèn vào psycopg2

  5. Hủy một phiên / kết nối postgresql