Maison > base de données > tutoriel mysql > Quel type est utilisé pour les montants dans MySQL ?

Quel type est utilisé pour les montants dans MySQL ?

青灯夜游
Libérer: 2022-06-14 15:22:04
original
16178 Les gens l'ont consulté

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).

Quel type est utilisé pour les montants dans MySQL ?

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);
Copier après la connexion

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);
Copier après la connexion

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
);
Copier après la connexion

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);
Copier après la connexion

Troisièmement, interrogez les données du tableau.

SELECT 
    *
FROM
    materials;
Copier après la connexion
Copier après la connexion

Quel type est utilisé pour les montants dans MySQL ?

Quatrièmement, modifiez la colonne de coût pour inclure l'attribut ZEROFILL.

ALTER TABLE materials
MODIFY cost DECIMAL(19,4) zerofill;
Copier après la connexion

Cinq, vérifiez à nouveau la liste du matériel.

SELECT 
    *
FROM
    materials;
Copier après la connexion
Copier après la connexion

Quel type est utilisé pour les montants dans MySQL ?

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal