2013-02-19 44 views
1

這是比編碼問題更多的樣式問題。我有一個函數,它基於乘以該請購單上每個行項目的數量*成本,返回申請總額。結果只能有兩位小數,因爲它是一個美元金額。SQL語句中的ROUND與舍入標量結果

這裏是我當前的SQL語句:

SELECT SUM(Quantity * Cost) 
FROM LineItems 
WHERE RequisitionID = @requisitionID 

這裏是在VB我return語句:

Return CDec(FormatNumber(selectCommand.ExecuteScalar, 2)) 

是否有任何優勢,使用SQL語句的ROUND()功能,而不是四捨五入標量結果?

代碼工作得很好,但我想找到最有效的解決方案。謝謝!

+0

爲方便起見,我不會使用SQL'ROUND()'函數。儘可能保持精確度,並讓查詢的用戶選擇如何處理舍入。很難預測未來您的代碼將如何使用。 – SolarBear 2013-02-19 16:37:59

+0

同意。即使是四捨五入,也有不同類型的舍入(朝向零,遠離零,朝向偶數,朝向奇數)。爲每一種你想要循環或不循環數據的方式編寫不同的查詢似乎很愚蠢。 – 2013-02-19 16:41:44

回答

2

我寧願對標量結果進行四捨五入,因爲您仍然可以操作標量命令返回的記錄。

它爲我提供了靈活性,因爲誰知道代碼有一些未來的變化。