2013-12-19 25 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 –