- - PR -
SQLServer2005で四捨五入
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-01-14 10:52
こんにちは。
初歩的な質問で、すいません。 SQLServer2005で四捨五入(小数点1桁目)したいのですが 222.44 は222 222.51 は223にです。 どのようなROUNDは見つけましたが ROUND(項目,0)でも切り捨てになってしまうのです。 ご教授よろしくお願いします。 | ||||||||
|
投稿日時: 2009-01-14 11:16
SQL Serverについては分からないのですが、「ROUND SQLServer」あたりで検索してみたところ、
使えないプログラマーという所に、 使えないプログラマー:T-SQLにおける丸め処理 使えないプログラマー:T-SQL 数値のカンマ編集 という記事があったので、ここらへん工夫すればなんとかできませんでしょうか? | ||||||||
|
投稿日時: 2009-01-14 13:14
SQL Serverも、.NET Frameworkも、Roundは偶数丸めなんですよね。
_________________ 田舎エンジニアのブログ | ||||||||
|
投稿日時: 2009-01-14 17:21
http://www.okada.jp.org/RWiki/index.php?JIS%2CISO%BC%B0%BB%CD%BC%CE%B8%DE%C6%FE
SQLServerや.NET Frameworkの四捨五入規則は 詳細を意識していませんでしたが、 上記サイトが動作原理としてわかりやすく 解説されていると思います。 | ||||||||
|
投稿日時: 2009-01-14 18:23
となったのですが、結果はこれとは異なるということでしょうか。 ちなみに、元の質問に関係なくて恐縮ですが・・・
.NET FrameworkのRoundは何も指定しないと、最近接偶数丸めですが、 MidpointRoundingの指定をAwayFromZeroにすれば 四捨五入の動きを実現できます。(ただし2.0からですが・・) http://www.atmarkit.co.jp/fdotnet/dotnettips/700mathround/mathround.html [ メッセージ編集済み 編集者: Toshi 編集日時 2009-01-14 18:24 ] [ メッセージ編集済み 編集者: Toshi 編集日時 2009-01-14 18:26 ] | ||||||||
|
投稿日時: 2009-01-15 10:32
みなさん、ありがとうございました。
| ||||||||
|
投稿日時: 2009-01-17 13:55
http://d.hatena.ne.jp/busaikuro/20081209#c1231904331
|
1