2013-10-09 56 views
1

我使用SQL Server 2008的T-SQL如何讓兩位小數四捨五入不

我想離開數沒有四捨五入的數據會從.NET網站檢索後。

比如,我從網站上獲得的數量10.7658234

我想離開這個數量10.76而是四捨五入到10.77的。

目前,SQL Server中的數據類型爲numeric(11,2)

我該如何去做呢?

謝謝。

回答

3

如果您需要在SQL截斷,ROUND有一個可選的第三個參數,你可以用它來截斷而不是圓:

SELECT ROUND(10.7658234,2,1) -- 10.76 

如果需要之前截斷的SQL(例如,如果數被傳遞爲具有2位精度的命令參數),則需要更改設置參數的代碼以進行截斷。既然你沒有指定如何這是這裏做就是它如何在通用的C#代碼實現:

double val = 10.7658234; 
val = Math.Truncate(val * 100)/100; 
+0

但目前,存儲過程只是需要數據爲參數:@number(11,2),並更新到表SQL。例如:UPDATE tblMisc SET tblMsic.nNumber = @Number我在哪裏放置Round(x,2,1)? – Kudohs

+0

@Kudohs然​​後它將需要在應用程序中進行更改。看到我更新的答案。 –

+0

@Kudohs我也會修改你的問題來指定它,以便它可以作爲一個非重複的問題重新打開。 –