プロが教えるわが家の防犯対策術!

ROUND関数で、四捨五入ができない。
カラムの値が'8.5'の場合'9'になるはずなのですが、'8'となってしまいます。
解決方法ありますでしょうか?
'4.5''6.5'の場合でも、四捨五入ができないです。
SELECT カラムA,ROUND(カラムA) FROM テーブル
----------------------------------------
 カラムA |  ROUND(カラムA)
----------------------------------------
  5.5   |   6          ←四捨五入ができている
----------------------------------------
  8.5   |   8          ←四捨五入ができない
----------------------------------------
  4.5   |   4          ←四捨五入ができない
----------------------------------------

XAMPP 1.7.3の MySQL 5.1.41を使用しています。

A 回答 (2件)

ROUNDは銀行丸め(五捨五入)ですね。


truncate(カラムA + 0.5))でどうでしょうか?
    • good
    • 0
この回答へのお礼

カラムの値が'*.7''*.3'だったりするので、CASE文を使って'+5'してみます。
ありがとうございました。

お礼日時:2010/07/29 18:14

こんにちは。



MySQLのROUNDは(それに限りませんが・・・)、銀行丸めという方法で四捨五入します。
丸め桁(この場合は小数点1桁)が5の場合、結果が偶数に近い方に丸められます。
    • good
    • 0
この回答へのお礼

そうだったのですか。ありがとうございます。

お礼日時:2010/07/29 18:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す