我有一個應用程序計算值-1407.858; C#數據類型爲decimal
。插入SQL Server四捨五入問題
數據庫中的列數據類型是十進制(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 2011-12-21 16:57:42
是的,當您將它放入一個帶兩位小數的變量中時,它會將值舍入爲兩位小數。 – Stu 2011-12-21 17:00:03
@哈里,問題是......? :) – 2011-12-21 17:02:44