Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como arredondar números no banco de dados para duas casas decimais usando uma consulta MySql


A documentação sobre round diz:

Portanto, sua update seria:
UPDATE wp_postmeta 
SET    meta_value = ROUND(meta_value, 2)
WHERE  meta_key='_price'

Formatos de exibição


Se sua preocupação é exibir um número com 2 dígitos decimais, pode ser melhor manter a precisão completa como está, mas altere a maneira como você select valores da sua tabela e nós format :

Sem a atualização acima, você ainda pode fazer isso:
SELECT FORMAT(meta_value, 2)
FROM   wp_postmeta
WHERE  meta_key='_price'

Se na sua tabela você tem o valor 15.002916 então o select acima irá renderizá-lo em uma string:15.00 .

Finalmente, se o tipo de dados de meta_value é um varchar (portanto, não um tipo de dados numérico), você pode armazenar os zeros à direita adicionais:
UPDATE wp_postmeta 
SET    meta_value = FORMAT(meta_value, 2)
WHERE  meta_key='_price'

Mas perceba que isso só funciona conforme o esperado se o tipo de dados for do tipo texto. Em tipos de dados numéricos os valores 15,00 e 15 são exatamente o mesmo; é apenas o formato de exibição que é diferente.