Le stockage de l'argent dans une colonne decimal - ce que la précision et l'échelle?

Je suis en utilisant une colonne decimal pour stocker les valeurs de la monnaie sur une base de données, et aujourd'hui, je me demandais ce que la précision et l'échelle à utiliser.

Depuis la soi-disant char colonnes de largeur fixe sont plus efficaces, je pensais la même chose pourrait être vraie pour les colonnes decimal. S'agit-il?

Et quelle précision et l'échelle dois-je utiliser? Je pensais précision 24/8. C'est que overkill, ou pas assez ok?


C'est ce que j'ai décidé de faire:

  • Stocker le taux de conversion (le cas échéant) dans la table des transactions en lui-même, comme un float
  • Magasin de la monnaie dans la table compte
  • Le montant de la transaction sera un DECIMAL(19,4)
  • Tous les calculs à l'aide d'un taux de conversion seront traitées par mon application j'ai donc garder le contrôle de l'arrondi

Je ne pense pas qu'un flotteur pour le taux de conversion est un problème, puisque c'est surtout pour la référence, et je vais être un moulage d'une virgule, de toute façon.

Merci à vous tous pour votre précieuse contribution.

  • Posez-vous la question: Est-il vraiment nécessaire de stocker les données sous forme décimale? Ne puis-je pas stocker les données en Cents/Pennies -> entiers ?
  • DECIMAL(19, 4) est un choix populaire case this vérifiez également ici Monnaie Mondiale Formats de décider du nombre de décimales à utiliser , l'espérance aide.
InformationsquelleAutor Ivan | 2008-10-22