11
SQL Server 2005 str()
は、四捨五入中に一部の浮動小数点値で異常な動作をします。ネットで検索しながら、私は以下のコードと説明を見つけました。SQL Server 2005:str(4.65,5,1)= 4.7、str(3.65,5,1)= 3.6?
select STR(4.65,5,1) -- it will give 4.7
select STR(3.65,5,1) -- it will give 3.6
私はいくつかの説明hereとhereを得たが、そこからを何かを取得していない(説明の1から取られたT-SQLの上にリンクしていること)
それが動作します、なぜ誰もが説明してもらえますこのような?
すてきな説明。ありがとう。 –
@ M.Kumaran:これを答えと考えるならば、それを受け入れるとマークしてください... –
BOLから: "SQLは2つの可能な値の1つとして扱われます.1 <= n <= 24の場合、nは24として扱われます。 25 <= n <= 53の場合、nは53として扱われます。 MSSQLにFLOAT(n)はありません。別名です。すべての下には、REAL(単精度)またはFLOAT(倍精度)があります。 DBでフォーマットするのではなく、DECIMAL(5、1)にキャストしてください。 STR関数はVARCHARを返します。 – wqw