如何解决sql服务器聚合浮点值
| 喜 汇总float值时,我得到了不同的结果。查询如下declare @cy datetime
set @d = \'12/01/2010\'
select SUM(total) from (
select sum(amt1) as total from table1
where date1 < @d
union all
select sum(amt1) as total from table1
where date1 >= @d
) as a
amt1的数据类型为float。
因此查询只是汇总表table1中的列总数。
现在,如果我将变量@d更改为让我们说\ '01 / 01/2010 \',则会得到不同的金额。
我在不同的时间范围内不断获得不同的金额
为什么会这样。我希望每次运行查询的结果都相同,这将与下面的查询匹配
从表1中选择sum(amt1)
谢谢
本
更新:我正在使用全部工会。谢谢指出。它仍然给我不同的结果
解决方法
我怀疑您使用的是
UNION
,因为查询中实际上有两个不同的表,例如table1
和table2
。在这种情况下,当日期更改时,您不应期望总和相同。
更新:我刚刚注意到您在一个查询中选择amt
,在另一个查询中选择amt1
,因此没有理由期望总和与日期更改相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。