The road to C# master trapemiya

C#を中心に、.NETの話題を取り上げます。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  256  : 記事  1  : コメント  10763  : トラックバック  30

ニュース

Since 2005年10月26日

わんくま同盟

わんくま同盟

Microsoft MVP


Visual Developer - Visual C#

記事カテゴリ

書庫

日記カテゴリ

IF @hoge > 0
     SET @fuga = FLOOR( (@moge / CAST(@hoge as DECIMAL) * 100 + 0.05) * 10 ) / 10
ELSE
     SET @fuga = 0

上のコードで0除算エラーが発生する。なぜ??????
調べると、@hogeが0より大きく1より小さい場合に発生しているようであった。
そう、この場合、

CAST(@hoge as DECIMAL)は0になる!

正しくは、

CAST(@hoge as DECIMAL(5,3)) とか、適当に有効桁数を指定してあげないといけない。

変にDECIMALだけで通っちゃうので困ったものだが、今度こそ気をつけよう!
投稿日時 : 2006年2月24日 20:08

コメント

No comments posted yet.

Post Feedback

タイトル
名前
Url:
コメント