"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comprendre le type de données décimal dans MySQL

Comprendre le type de données décimal dans MySQL

Publié le 2024-11-08
Parcourir:969

Understanding the Decimal Datatype in MySQLLe type de données Decimal dans MySQL est essentiel pour les projets liés à la finance, où la précision des valeurs numériques est cruciale. Récemment, j'ai rencontré un problème en travaillant avec ce type de données dans l'un de mes projets Ruby on Rails. Permettez-moi de partager mon expérience et ce que j'ai appris.

Le défi : erreur de valeur hors plage

Lors de mon projet, j'ai défini un champ Decimal dans un fichier de migration et j'ai été confronté à l'erreur suivante :

Out of range value for column 'db_field' at row 1

Cette erreur s'est produite car j'ai essayé d'insérer une valeur dépassant la plage définie. Voici l'extrait de mon fichier de migration :

t.decimal :rate, precision: 3, scale: 3, default: 0.0

Cette définition correspond à, ce qui signifie que la colonne taux peut stocker des valeurs comprises entre -0,999 et 0,999. Notez l'échelle de 3, indiquant qu'il y a toujours 3 chiffres après la virgule décimale.

Décomposer la précision et l'échelle

Dans MySQL, le type de données Decimal est défini comme Decimal(P,S), où :

  • P (Précision) : nombre total de chiffres.
  • S (Échelle) : Nombre de chiffres après la virgule décimale.

Comment déterminer la précision et l'échelle

Pour décider de la précision et de l'échelle appropriées, utilisez cette formule simple :

Precision - Scale = Maximum digits before the decimal point

Exemple:
Si vous devez stocker des valeurs telles que 12,345 :

  • Vous voulez 2 chiffres avant la virgule décimale et 3 chiffres après.
  • Le nombre total de chiffres (précision) est de 5.
  • Par conséquent, la définition sera Decimal(5,3).

Application du monde réel

Voici un exemple de mon projet :

t.decimal :rate, precision: 5, scale: 2, default: 0.0

Dans ce cas, je devais stocker des valeurs jusqu'à 999,99. Par conséquent, Decimal(5,2) m'a permis d'avoir 3 chiffres avant la virgule décimale et 2 chiffres après.

Lectures complémentaires

Pour des informations plus détaillées, consultez la documentation MySQL sur le type de données décimal. C'est une excellente ressource pour comprendre comment travailler avec Decimal et d'autres types numériques.

Conclusion

Comprendre
La gestion du type de données Decimal dans MySQL est vitale pour gérer avec précision les données numériques dans vos applications. En définissant la précision et l’échelle correctes, vous pouvez éviter les erreurs courantes et garantir l’intégrité des données. J'espère que cette explication vous aidera dans vos projets !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/sonianand11/understanding-the-decimal-datatype-in-mysql-292c?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3