下面是我的 SQL 表中的列值。当我使用桌面计算器将它们相加时,总和为 0
但是在sql中,当我取Item_Quantity的总和时,我得到一个奇怪的值,如下所示
该列的数据类型是浮点型。我可以得到一些帮助吗?谢谢。
最佳答案
不知道为什么你说使用 DECIMAL(18,1)
不起作用
这是您的示例数据
DECLARE @t TABLE ( Item_Quanity FLOAT)
INSERT INTO @t
(
Item_Quanity
)
VALUES
(12.8) ,(-6.8) ,(1.4) ,(0.2) ,(3.4) ,(-2.8), (12) ,(-3.6) ,(-16.6)
这是您的查询
SELECT SUM(Item_Quanity) FROM @t
给出了这个结果
(No column name)
-3.5527136788005E-15
这是使用 CAST
对该查询的修改
SELECT SUM(CAST(Item_Quanity AS DECIMAL(18,1))) FROM @t
这给出了这个结果
(No column name)
0.0
现在将数据类型从 FLOAT
更改为 `DECIMAL(18,1)
DECLARE @t1 TABLE ( Item_Quanity DECIMAL(18,1))
INSERT INTO @t1
(
Item_Quanity
)
VALUES
(12.8) ,(-6.8) ,(1.4) ,(0.2) ,(3.4) ,(-2.8), (12) ,(-3.6) ,(-16.6)
SELECT SUM(Item_Quanity)
FROM @t1
哪个返回
(No column name)
0.0
关于sql - SUM(Column_Value) 给出的值与计算器不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50118511/