假设我们有两列的表:
- number_a 十进制(6,3)
- number_b 十进制(6,2)
我的问题是:mysql 如何在这个查询中对数字进行四舍五入:
UPDATE table SET number_b = number_a
截断,舍入到一半向下,一半向上?
编辑:我只需要链接到文档。我想确保没有神奇的设置使它在不同的服务器配置上工作不同
它将有效地使用 ROUND()。您可以在此处看到一个简单的示例表,其中包含将 3dp 值放入 2dp 列的 UPDATE 结果:http ://sqlfiddle.com/#!2/de5b7/1
CREATE TABLE test(
3dp DECIMAL(6,3),
2dp DECIMAL(6,2)
);
INSERT INTO test (3dp,2dp) VALUES
(1.114,0),
(1.115,0),
(1.116,0);
UPDATE test SET 2dp = 3dp;
SELECT * FROM test;
生产结果
3DP 2DP
---------------
1.114 1.11
1.115 1.12
1.116 1.12