SQLite 聚合总和值

SQLite Aggregate Sum Values

当我尝试汇总价格时,返回值被截断并截断了重要值。例如,当我使用 sum() 或 total() 来汇总价格时,而不是 12,000.00 它 returns 12.

我同时使用了 sum() 和 total() 并尝试将数字转换为浮点数。该列的类型为 REAL。

select "Extended Price" 
from ReqData 
where "PR ID" = 11111111 
group by "PR ID";

这个returns 12,000.00

select sum("Extended Price") 
from ReqData 
where "PR ID" = 11111111 
group by "PR ID";

这个returns12.

DBeaver Output

问题是您插入的列值如下:

12,000.00

SQLite 将其识别为 TEXT,因为它包含逗号。
将值更改为:

12000

12000.00

当 TEXT 值用于执行加法、减法甚至比较等算术运算时,SQLite 会尝试从起始字符开始将其转换为数字,如果这根本不可能,它 returns 0.
因此 '12a' 将转换为 12'abc' 将转换为 0,因此在您的情况下 '12,000.00' 将转换为 12