Dans mysql, le montant utilise le type "DECIMAL". Le type DECIMAL est un type de données spécialement conçu pour les problèmes liés aux finances. Il peut résoudre le problème de la portée et de l'exactitude des données. Il est souvent utilisé pour les données monétaires, telles que les prix, les salaires, les soldes des comptes, etc. sous forme de chaîne. Le nombre de chiffres dans la partie entière et la partie décimale peuvent être délimités lors de la définition. La syntaxe est "DECIMAL(M,D)". et le paramètre D est le nombre de chiffres à droite de la virgule décimale (échelle).
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
Dans mysql, le montant utilise le type "DECIMAL".
Décimal (nombre à virgule fixe) est un type de données spécialement conçu pour les problèmes liés aux finances, qui peut résoudre le problème de la plage et de la précision des données.
DECIMAL a été introduit à partir de MySQL 5.1 et la syntaxe de déclaration de colonne est DECIMAL(M,D). Dans MySQL 5.1, la plage de valeurs des paramètres est la suivante :
M est le nombre maximum de nombres (précision). Sa plage est comprise entre 1 et 65 (dans les anciennes versions de MySQL, la plage autorisée est comprise entre 1 et 254) et la valeur par défaut de M est 10.
D est le nombre de chiffres à droite de la virgule décimale (échelle). Sa plage est de 0 à 30, mais elle ne doit pas dépasser M.
Explication : float occupe 4 octets, double occupe 8 octets et decimail(M,D) occupe M+2 octets.
Par exemple, la valeur maximale de DECIMAL(5,2) est 9 9 9 9 9 car il y a 7 octets disponibles.
Le type DECIMAL est différent de FLOAT et DOUBLE. DOUBLE est en fait stocké sous la forme d'une chaîne. La plage de valeurs maximale possible de DECIMAL est la même que celle de DOUBLE, mais la plage de valeurs effective est déterminée par M et D. Si M est modifié et D est fixe, la plage de valeurs s'élargit à mesure que M grandit.
Je tiens à souligner :Dans MySQL, les nombres à virgule fixe sont stockés sous forme de chaînes. Lorsque les exigences de précision sont relativement élevées (comme la devise, les données scientifiques), il est préférable d'utiliser le DECIMAL. type, et les deux autres nombres à virgule flottante sont utilisés. Les opérations de soustraction et de comparaison sont également sujettes à des problèmes, vous devez donc faire attention lorsque vous utilisez des nombres à virgule flottante et essayer d'éviter les comparaisons à virgule flottante.
Type de données MySQL DECIMAL et données monétaires
Nous utilisons souvent le type de données DECIMAL pour les données monétaires telles que les prix, les salaires, les soldes des comptes, etc. Si vous concevez une base de données qui gère des données monétaires, la syntaxe suivante devrait convenir.
amount DECIMAL(19,2);
Cependant, si vous souhaitez vous conformer aux règles des principes comptables généralement reconnus (PCGR), la colonne des devises doit contenir au moins 4 décimales pour garantir que la valeur arrondie ne dépasse pas 0,01 $ USD. Dans ce cas, vous devez définir une colonne avec 4 décimales comme suit :
amount DECIMAL(19,4);
Exemple de type de données MySQL DECIMAL
Tout d'abord, créez une nouvelle table nommée materials avec trois champs : id, description et cost.
CREATE TABLE materials ( id INT AUTO_INCREMENT PRIMARY KEY, description VARCHAR(255), cost DECIMAL(19 , 4 ) NOT NULL );
Deuxièmement, insérez les données dans le tableau des matériaux.
INSERT INTO materials(description,cost) VALUES('Bicycle', 500.34),('Seat',10.23),('Break',5.21);
Troisièmement, interrogez les données du tableau.
SELECT * FROM materials;
Quatrièmement, modifiez la colonne de coût pour inclure l'attribut ZEROFILL.
ALTER TABLE materials MODIFY cost DECIMAL(19,4) zerofill;
Cinq, vérifiez à nouveau la liste du matériel.
SELECT * FROM materials;
Comme vous pouvez le voir, nous avons complété de nombreux zéros dans la valeur de sortie.
【Recommandation associée :tutoriel vidéo mysql】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!