[前][次][番号順一覧][スレッド一覧]

mysql:6668

From: KAWAJI Shinya <KAWAJI Shinya <kawaji@xxxxxxxxxx>>
Date: Thu, 05 Dec 2002 23:59:10 +0900
Subject: [mysql 06668] Re: ROUND 関数の四捨五入について

かわじ、です。


> 環境:Windows2000 SP1
> MySQL:4.0.4-beta-max
> ローカルでテストしています。
> 
> ROUND関数を使って、小数点第1位を四捨五入し整数に丸めたいのですが、
> 小数点第1位が"5"の時、四捨五入されていないようなのです。


私の環境(3.23.51, openbsd3.1) では、上記のような場合でも正しく動作します。

マニュアルの「6.3.3.2 数学関数/ROUND」によると、「C ライブラリの実装に
依存している」そうで、
http://www.mysql.com/doc/en/Mathematical_functions.html
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Reference.html#Mathematical_functions

Windows で「下方向に丸められてしまう」事が
http://www.geocrawler.com/mail/msg.php3?msg_id=7966560&list=8
でも指摘されています


修正されていない経緯は知りませんが(上記のスレッドをちゃんと追えば
分かるかも・・・多分、後方参照性のため?)、
マニュアルに書いてあるとおり、別の関数を使った方が良さそうです。

> 丸めの種類の一つを必要とする場合は、TRUNCATE() または FLOOR() の
> ようなはっきりと定義された関数を代わりに使用すべきです。

--
Shinya Kawaji



[前][次][番号順一覧][スレッド一覧]

      6667 2002-12-05 19:38 ["matsuda" <matsuda@x] ROUND 関数の四捨五入について            
->    6668 2002-12-05 23:59 ┣[KAWAJI Shinya <kawaj]                                       
      6669 2002-12-06 00:08 ┃┗[KAWAJI Shinya <kawaj]                                     
      6671 2002-12-06 19:59 ┗[Takeyuki Miyagawa <m]                                       
      6675 2002-12-07 21:42  ┣[Masahiro Utsumi <uts]                                     
      6676 2002-12-09 00:43  ┗["kossy" <kossy@xxxxx]                                     
      6677 2002-12-09 13:23   ┗["matsuda" <matsuda@x]