Maison > base de données > tutoriel mysql > le corps du texte

Explication détaillée des exemples d'utilisation de DECIMAL dans les types de données MySQL

小云云
Libérer: 2017-12-08 12:00:16
original
2686 Les gens l'ont consulté

Dans les types de données MySQL, tels que INT, FLOAT, DOUBLE, CHAR, DECIMAL, etc., ils ont tous leurs propres fonctions. Ci-dessous, nous présenterons principalement les fonctions et l'utilisation du type DECIMAL dans les types de données MySQL. Cet article présente principalement des informations pertinentes sur les exemples d'utilisation de DECIMAL dans le type de données MySQL. J'espère que cet article pourra aider tout le monde et que les amis dans le besoin pourront s'y référer.

Normalement, la valeur attribuée à une colonne à virgule flottante est arrondie au nombre décimal spécifié par la colonne. Si vous stockez 1. 2 3 4 5 6 dans une colonne FLOAT(8, 1), le résultat est 1. 2. Si la même valeur est stockée dans la colonne de FLOAT(8, 4), le résultat est 1. 2 3 4 6.

Cela signifie qu'une colonne à virgule flottante doit être définie avec suffisamment de chiffres pour obtenir la valeur la plus précise possible. Si vous souhaitez une précision au millième près, ne définissez pas le type de manière à ce qu'il n'ait que deux décimales.

Il existe des exceptions à cette gestion des valeurs à virgule flottante dans MySQL3.23, et les performances de FLOAT(4) et FLOAT(8) ont changé. Ces deux types sont désormais en simple précision (4 octets) et en double précision (8 octets), dans le sens où leurs valeurs sont stockées sous la forme donnée (sous réserve uniquement des limitations matérielles).

Le type DECIMAL est différent de FLOAT et DECIMAL, où DECIMAL est en fait stocké sous forme de chaîne. La plage de valeurs maximale possible de DECIMAL est la même que celle de DOUBLE, mais sa plage de valeurs effective est déterminée par les valeurs de M et D. Si M est modifié et D est fixe, sa plage de valeurs s'élargira à mesure que M grandira. Les trois premières lignes du tableau 2-7 illustrent ce point. Si M est fixe et que D est modifié, sa plage de valeurs deviendra plus petite à mesure que D deviendra grand (mais la précision augmentera). Les trois dernières lignes du tableau 2-7 illustrent ce point.

La plage de valeurs d'un type DECIMAL donné dépend de la version du type de données MySQL. Pour les versions antérieures à MySQL3.23, chaque valeur de la colonne DECIMAL(M, D) occupe M octets, et le signe (si nécessaire) et le point décimal sont inclus dans les M octets. Par conséquent, les colonnes de type DECIMAL(5, 2) ont des valeurs allant de -9,99 à 9 9 9 car elles couvrent toutes les valeurs possibles à 5 caractères.

Tout comme MySQL3.23, les valeurs DECIMAL sont traitées selon la spécification ANSI. La spécification ANSI stipule que DECIMAL(M, D) doit pouvoir représenter n'importe quelle valeur avec M chiffres et D décimales.

Par exemple, DECIMAL(5, 2) doit pouvoir représenter toutes les valeurs de -999,99 à 999,99. Et le signe et le point décimal doivent être stockés, donc depuis MySQL3.23 la valeur DECIMAL occupe M + 2 octets. Pour DECIMAL(5, 2), la valeur « la plus longue » (-9 9 9 . 9 9) nécessite 7 octets.

À une extrémité de la plage de valeurs positives, le signe plus n'est pas requis, donc le type de données MySQL l'utilise pour étendre la plage de valeurs au-delà de la plage de valeurs requise par la spécification ANSI. Par exemple, la valeur maximale de DECIMAL(5, 2) est 9 9 9 9 , car 7 octets sont disponibles.

En bref, dans MySQL3.23 et les versions ultérieures, la plage de valeurs de DECIMAL(M, D) est égale à la plage de valeurs de DECIMAL(M + 2, D) dans les versions antérieures. Dans toutes les versions du type de données MySQL, si D d'une colonne DECIMAL est 0, aucun point décimal n'est stocké. Cela a pour effet d'élargir la plage de valeurs de la colonne, car les octets utilisés pour stocker le point décimal peuvent désormais être utilisés pour stocker d'autres nombres.

Recommandations associées :

10 articles recommandés sur le type décimal

Type de données MySQL - explication détaillée décimale

Notez que la décimale doit être utilisée pour identifier les valeurs monétaires dans 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