Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment arrondir les nombres dans la base de données à deux décimales à l'aide d'une requête MySql

La documentation sur round dit :

Donc, votre update serait :

UPDATE wp_postmeta 
SET    meta_value = ROUND(meta_value, 2)
WHERE  meta_key='_price'

Formats d'affichage

Si votre souci est d'afficher un nombre avec 2 chiffres décimaux, il serait peut-être préférable de garder la précision complète telle quelle, mais changez la façon dont vous select valeurs de votre table, et nous format :

Sans la mise à jour ci-dessus, vous pouvez toujours le faire :

SELECT FORMAT(meta_value, 2)
FROM   wp_postmeta
WHERE  meta_key='_price'

Si dans votre tableau vous avez la valeur 15.002916 alors le select ci-dessus le rendra sous forme de chaîne :15.00 .

Enfin, si le type de données de meta_value est un varchar (donc, pas un type de données numérique), vous pouvez bien sûr stocker les zéros de fin supplémentaires :

UPDATE wp_postmeta 
SET    meta_value = FORMAT(meta_value, 2)
WHERE  meta_key='_price'

Mais réalisez que cela ne fonctionne comme prévu que si le type de données est du type texte. Dans les types de données numériques, les valeurs 15,00 et 15 sont exactement le même; c'est juste leur format d'affichage qui est différent.