-1407.858の値を計算するアプリケーションがあります。これのC#データ型はdecimal
です。挿入時のSQL Server丸めの問題
データベースの列のデータ型は10進数(12,2)です。私はそれが値を丸めて-1407.86を挿入すると思っていたでしょう(ゼロ丸めと丸めの両方を満足させるでしょう)。
値は-1407.85として挿入されています。私がこれについて考えることができる唯一の説明は、最後の数字が切り捨てられているということです。
私は、次のようなSQL Server内のいくつかの簡単なテストクエリ行っている:
declare @first AS decimal(12,2)
declare @second AS float --[or decimal(12,3)]
set @second = -1407.858
set @[email protected]
select @first;
をそして、私は戻って-1407.86を取得するので、私はそれらを挿入するとき、それはそれらを設定しますが、いないとき、SQL Serverは自動的に値を丸めたとします。これは正しいです? SQL Serverは挿入時にのみ切り捨てますが、設定時に丸めますか?
ここで質問がありますか? – JNK
はい、小数点以下2桁の変数に値を2つの小数点以下に丸めます。 – Stu
@ハリーと質問は...? :) –