Comment stocker décimal dans MySQL?
J'ai essayé d'utiliser DÉCIMAL avec (2,2) mais il ne me laisse pas utiliser ce.
Je veux simplement stocker un nombre, par exemple 7.50 ou 10.50. J'ai besoin de garder les deux chiffres après la virgule, mais lorsque j'actualise la base de données, il réinitialise les valeurs de 0,99. Des suggestions?
- double possible de Comment faire pour stocker des valeurs décimales dans SQL Server?
Vous devez vous connecter pour publier un commentaire.
Le premier chiffre de la
DECIMAL
déclaration est le total chiffres. Vous voudrez probablement utiliserDECIMAL (4, 2)
. Cela permet à deux chiffres avant la virgule et deux après.Documentation: https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html
Ils syntaxe est DECIMAL(M,D)
M - longueur totale
D - chiffres à droite du point décimal
http://dev.mysql.com/doc/refman/5.6/en/fixed-point-types.html
Cela rendra la colonne coût total de 10 chiffres, 8 avant et 2 après la virgule.
À partir de mysql doc:
NB:- M est non totale. des chiffres avant le point décimal + total pas de. de chiffres après le point décimal.
Dans votre cas,
7.50
a un total de 3 chiffres et10.50
a un total de 4 chiffres. Mais l'maximale déclarée non. des chiffres de la colonne 2 de sorte qu'il peut stocker un maximum de deux chiffres de la valeur. Vous ne pouvez même pas de magasin de 1 parce que c'est de 1,00 total de 3 chiffres. De sorte que le maximum autorisé de 2 chiffres dans la colonne est.99
.Si vous souhaitez stocker xx.xx, alors vous devez déclarer (4, 2), où 4 est M et 2 D.
Si vous souhaitez stocker un nombre à la taille maximale autorisée de mysql, vous pouvez déclarer une colonne (65, 30).
Maximum pas. des chiffres avant le point décimal = M - D
DECIMAL(10,2)
indique quesalary
contiendra un total de 10 chiffres dont 2 après la virgule.c'est à dire
8 chiffres avant la virgule et 2 chiffres après la virgule.
Changer votre champ de INT en FLOAT