Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So runden Sie Zahlen in der Datenbank mit einer MySql-Abfrage auf zwei Dezimalstellen

Die Dokumentation zu round sagt:

Also Ihr update wäre:

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

Anzeigeformate

Wenn Ihr Anliegen die Anzeige ist B. eine Zahl mit 2 Dezimalstellen, ist es möglicherweise besser, die vollständige Genauigkeit beizubehalten, aber die Art und Weise, wie Sie select, zu ändern Werte aus Ihrer Tabelle und unser format :

Ohne das obige Update können Sie dies immer noch tun:

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

Wenn Sie in Ihrer Tabelle den Wert 15.002916 haben, dann den obigen select wird es in einen String umwandeln:15.00 .

Schließlich, wenn der Datentyp von meta_value ist ein varchar (also kein numerischer Datentyp), können Sie natürlich die zusätzlichen abschließenden Nullen hinterlegen:

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

Beachten Sie jedoch, dass dies nur dann wie erwartet funktioniert, wenn der Datentyp vom Typ Text ist. Bei numerischen Datentypen sind die Werte 15,00 und 15 genau das Gleiche; es ist nur ihr Anzeigeformat, das anders ist.