Sti*_*nut 3 mysql decimal rounding
我想将woo Commerce数据库表中的数字四舍五入到2个小数点wp_postmeta。有一个'meta_key'包含row的列'_price'和一个'meta_value'包含各种数据的列以及该行'_price'中需要四舍五入并减少到两位小数的数字。(我知道我也必须这样做_regular_price)
我是SQL的完整入门者。通过使用Search给我语法或复制和更改网上找到的答案,我已经成功地在PHPMyAdmin中做了一些事情,但是这使我感到困惑,但还不够足够。
我设法通过此查询将所有价格都提高了10%-
update wp_postmeta set meta_value = meta_value * 1.10 where meta_key='_regular_price'
Run Code Online (Sandbox Code Playgroud)
我读过有一个“ ROUND”功能,但不确定如何编写查询。
我猜是这样的-
UPDATE wp_postmeta ROUND meta_value where meta_key='_price'
Run Code Online (Sandbox Code Playgroud)
希望这里有人能帮忙。
上的文档round说:
ROUND(X),ROUND(X,D)将参数X舍入到D小数位。[...]如果未指定,D默认为0。
因此,您update将是:
UPDATE wp_postmeta
SET meta_value = ROUND(meta_value, 2)
WHERE meta_key='_price'
Run Code Online (Sandbox Code Playgroud)
如果您要显示的数字是2位小数,则最好保持原样的精确度,但要更改select表和我们的赋值方式format:
如果没有上述更新,您仍然可以这样做:
SELECT FORMAT(meta_value, 2)
FROM wp_postmeta
WHERE meta_key='_price'
Run Code Online (Sandbox Code Playgroud)
如果您的表格中的值为15.002916,则上述内容select会将其呈现为字符串:15.00。
最后,如果的数据类型meta_value是varchar(因此,不是数字数据类型),那么您当然可以存储其他尾随零:
UPDATE wp_postmeta
SET meta_value = FORMAT(meta_value, 2)
WHERE meta_key='_price'
Run Code Online (Sandbox Code Playgroud)
但是要意识到,仅当数据类型是文本类型时,这才可以按预期工作。在数字数据类型中,值15.00和15 完全相同。只是他们的显示格式有所不同。
| 归档时间: |
|
| 查看次数: |
5282 次 |
| 最近记录: |