Date: Thu, 28 Oct 2004 09:42:30 +0900
From: "Kohichiroh Ohta" <who@example.co.jp>
太田です。
泉田さん回答ありがとうございます。
> 泉田隼人です。
>
> 関数はよく分からないですが、
> 0.5を足してからやってみたらどうでしょうか?
>
早速試したのですが、こうなります。
SELECT CAST( ( @A + 0.5 ) AS int )
↓
0.1 → 0
0.4 → 0
0.5 → 1
0.9 → 1
1.0 → 1
1.5 → 2
欲しい値は、数値の整数部分を抜き出したいので
これは残念ながら、期待した値とは
少し違う結果となってしまいました。
しかし、腑に落ちないのは 0.1 の結果です。
0.5 を足して四捨五入したら 1 になるのではないのですかね?
理解不能です。
ちなみに@Aはmoney型で宣言しています。
逆に0.5を引くとこうなります。
SELECT CAST( ( @A - 0.5 ) AS int )
↓
0.1 → 0
0.4 → 0
0.5 → 0
0.9 → 0
1.0 → 0
1.4 → 0
1.5 → 1
2.0 → 1
2.4 → 1
2.5 → 2
0.9まではやったかと思ったのですが、
その後が違うんですよね・・・。
こんなところでつまづくとは信じられない思いです。
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|