PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

PostgreSQL:jaki typ danych powinien być używany dla waluty?

Twoje źródło nie jest w żaden sposób oficjalne. Pochodzi z 2011 roku i nawet nie rozpoznaję autorów. Jeśli typ pieniądza zostałby oficjalnie „odradzany”, PostgreSQL powiedziałby to w instrukcji – czego tak nie jest.

Aby uzyskać bardziej oficjalne źródło , przeczytaj ten wątek w pgsql-general (zaledwie w tym tygodniu!), z oświadczeniami głównych programistów, w tym D'Arcy J.M. Cain (pierwotny autor typu money) i Tom Lane:

Powiązana odpowiedź (i komentarze!) na temat ulepszeń w ostatnich wydaniach:

  • Raport Jaspera:nie można uzyskać wartości dla pola „x” klasy „org.postgresql.util.PGmoney”

Zasadniczo money ma swoje (bardzo ograniczone) zastosowania. Postgres Wiki sugeruje, aby w dużej mierze go unikać, z wyjątkiem tych wąsko zdefiniowanych przypadków. Przewaga nad numeric to wydajność .

decimal to tylko alias dla numeric w Postgres i szeroko stosowany do danych monetarnych, będąc typem „arbitralnej precyzji”. Instrukcja:

Typ numeric może przechowywać liczby o bardzo dużej liczbie cyfr. Jest szczególnie zalecane do przechowywania kwot pieniężnych i innych ilości, w których wymagana jest dokładność.

Osobiście lubię przechowywać walutę jako integer reprezentowanie centów, jeśli ułamkowe centy nigdy nie występują (w zasadzie tam, gdzie pieniądze mają sens). Jest to bardziej wydajne niż jakakolwiek inna z wymienionych opcji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biblioteka nie załadowana:/usr/local/opt/readline/lib/libreadline.6.2.dylib

  2. Jak Cot() działa w PostgreSQL

  3. Wskazówki dotyczące przechowywania kopii zapasowych PostgreSQL w Google Cloud (GCP)

  4. Jak obliczyć percentyl w PostgreSQL

  5. fe_sendauth:nie podano hasła