2

2 つの列を持つテーブルがあるとします。

  • number_a DECIMAL(6,3)
  • number_b DECIMAL(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 に答える