sql >> Database >  >> RDS >> Mysql

Hoe getallen in de database op twee decimalen af ​​te ronden met behulp van een MySql-query

De documentatie over round zegt:

Dus je update zou zijn:

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

Weergave-indelingen

Als uw zorg is om weer te geven een getal met 2 decimale cijfers, is het misschien beter om de volledige precisie te behouden zoals deze is, maar verander de manier waarop u select waarden uit uw tabel, en ons format :

Zonder de bovenstaande update kun je dit nog steeds doen:

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

Als je in je tabel de waarde 15.002916 hebt, dan select zal het naar een string renderen:15.00 .

Ten slotte, als het gegevenstype meta_value is een varchar (dus geen numeriek gegevenstype), u kunt natuurlijk de extra volgnullen opslaan:

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

Maar realiseer je dat dit alleen werkt zoals verwacht als het datatype van het teksttype is. In numerieke datatypes zijn de waarden 15.00 en 15 exact hetzelfde; het is gewoon hun weergaveformaat dat anders is.



  1. Machtigingen implementeren op basis van reputatie

  2. MIN() versus LEAST() in MySQL:wat is het verschil?

  3. Hoofdlettergevoelige databasequery

  4. Hoe bepalen of SSL wordt gebruikt in een MySql-verbinding?