87 votes

MySQL : type de colonne préféré pour les prix (produits) ?

Dans MySQL, quel est le type de colonne préféré pour stocker le prix d'un produit (ou les devises en général) ? Google m'a appris que la DÉCIMALE de FLOAT est souvent utilisée, mais je me demande laquelle est la meilleure.

Je stocke des prix allant de 0,01 à 25,00. Bien sûr, des valeurs plus élevées pourraient également être possibles. (Remarque : je ne demande pas de code copy-pasta, je vous donne juste plus d'informations qui pourraient vous aider à former une réponse plus complète).

Merci

32voto

Ali Nawaz Points 119

Le type de champ "Decimal" est bon.

Si vous avez des prix élevés, vous pouvez utiliser product_price decimal(6,2) NOT NULL,, c'est-à-dire que vous pouvez stocker des prix jusqu'à 6 chiffres avec une virgule avant 2 chiffres.

La valeur maximale pour le champ product_price decimal(6,2) NOT NULL, stockera le prix jusqu'à 9999,99

Si tous les prix sont entre 0,01 et 25,00 alors product_price decimal(4,2) NOT NULL, sera bon, mais si vous aurez des prix plus élevés alors vous pouvez définir toutes les valeurs en decimal(4,2).

16voto

Razzie Points 14705

Je n'utiliserais pas float car cela peut donner des erreurs d'arrondi, car il s'agit d'un type à virgule flottante.

Utiliser décimale :

"Les types DÉCIMAUX et NUMÉRIQUES sont utilisés pour stocker des valeurs pour lesquelles il est important de préserver une précision exacte, par exemple avec des données monétaires. "

voir : http://dev.mysql.com/doc/mysql/fr/numeric-types.html

0voto

srapsware Points 31

La valeur décimaleDECIMAL beacuse est stockée avec précision. Par exemple, DECIMAL(10, 2) conviendra parfaitement pour des prix ne dépassant pas 999999999,99
Après cela, lorsque vous stockez 1, il sera stocké 1.0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X