Sql Sum函数每次运行查询时都会给出不同的数据

时间:2013-12-19 07:08:53

标签: sql sql-server

我有一个表A,包含数据类型varchar的列[GL_Amount]  GL_Amount包含以下数据:: -856.32,-261.60,-15.04,537.11

当我申请以下查询::

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

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

因此,每次运行此查询时,我都会得到不同的结果。

我需要纠正这件事

2 个答案:

答案 0 :(得分:2)

您可能想要sum

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

并且float不准确。使用decimal之类的定点数据类型。或使用自动转换

Select SUM(GL_Amount * 1.0) 
From TableA 

答案 1 :(得分:2)

尝试

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