sql >> Database teknologi >  >> RDS >> Mysql

Sådan afrundes tal i databasen til to decimaler ved hjælp af en MySql-forespørgsel

dokumentationen om round siger:

Så din update ville være:

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

Skærmformater

Hvis din bekymring er at vise et tal med 2 decimale cifre, kan det være bedre at beholde den fuldstændige præcision, som den er, men ændre den måde, du select på værdier fra din tabel og os format :

Uden ovenstående opdatering kan du stadig gøre dette:

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

Hvis du i din tabel har værdien 15.002916, så select ovenfor vil gengive den til en streng:15.00 .

Endelig, hvis datatypen meta_value er en varchar (altså ikke en numerisk datatype), du kan selvfølgelig gemme de yderligere efterfølgende nuller:

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

Men indse, at dette kun fungerer som forventet, hvis datatypen er af teksttypen. I numeriske datatyper er værdierne 15.00 og 15 præcis det samme; det er bare deres visningsformat, der er anderledes.



  1. Ingen unikke eller ekskluderende begrænsninger, der matcher ON CONFLICT

  2. Implementere et enkelt login til tre websteder i PHP?

  3. Er der en måde at indstille en udløbstid, hvorefter en dataindtastning automatisk slettes i PostgreSQL?

  4. Find ud af, om et objekt er en brugerdefineret tabel i SQL Server med OBJECTPROPERTY()