2

假设我们有两列的表:

  • number_a 十进制(6,3)
  • number_b 十进制(6,2)

我的问题是:mysql 如何在这个查询中对数字进行四舍五入:

UPDATE table SET number_b = number_a

截断,舍入到一半向下,一半向上?

编辑:我只需要链接到文档。我想确保没有神奇的设置使它在不同的服务器配置上工作不同

4

1 回答 1

0

它将有效地使用 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
于 2013-04-26T11:42:35.730 回答