2013-12-19 41 views
2

我有一個表A,含有柱[GL_Amount]數據類型的varchar GL_Amount的每次給予不同的數據包含以下數據:: -856.32,-261.60,-15.04,537.11的Sql Sum函數運行的查詢

當我申請以下查詢::

Select Count(Cast(GL_Amount as Float)) From TableA 

所以,每次我運行這個查詢我得到不同的結果。

我需要糾正這個事情

回答

2

嘗試此

SELECT SUM(Convert(Money, GL_Amount)) GL_Amount 
FROM TableA 
2

您probbaly要sum

Select SUM(Cast(GL_Amount as decimal(10,2))) 
From TableA 

And float是不準確的。使用像decimal這樣的定點數據類型。或使用自動轉換

Select SUM(GL_Amount * 1.0) 
From TableA 
+0

得到錯誤::算術溢出錯誤轉換VARCHAR到數據類型數值。 –

+0

你的數字和你的金額有多大?嘗試使用'* 1' –

+0

嘗試轉換'368715.26'* 1時,則error ::無法轉換爲int –