2012-05-02 106 views
0

我有以下規定─精度四捨五入的數字

1. Get the A_MINUTES column value from TableA for all rows 
2. Sum the A_MINUTES. 
3. Convert the summed minutes values to hours - divide by 60 
4. Round off the final hours value to 2 decimal places. 

這需要在SQL編寫。

你認爲這個查詢會有舍入錯誤嗎?

SELECT ROUND ((SUM(A_MINUTES)/60.0) , 2) FROM TABLEA 
+1

sql匹配你的語言描述的內容。 – Randy

+0

這是功課嗎?如果這樣可以,那麼在這裏請你注意你的問題。人們可能會給你更多的「學術」答案,或試圖幫助你更多地瞭解作業問題。 – Matthew

+0

請定義'舍入錯誤'。我想大多數主要的關係型數據庫管理系統都可以準確地執行業務目標...... –

回答

1

它是否有任何舍入誤差?

這取決於您要實施的舍入方案。
的SQL代碼,你會貼出完成你的目標,但在SQL默認的舍入方案銀行家四捨五入,如默認方案在.NET

http://msdn.microsoft.com/en-us/library/ms175003.aspx

這裏是不同的取整方法實現了良好的簡短在SQL中:
http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/sql-server-rounding-methods

如果您想實施銀行家的舍入方案(如.NET中的默認方案),那麼有幾個選項。這裏是關於這個主題的一個很好的討論(這是針對Oracle的,但應該適用)
http://www.orafaq.com/forum/t/122001/2/