我正在尝试对这样的数字求和:
42,764.23
63,739.84
简单选择总和
SELECT sum(currency) as result from currency_table
金额为105
,但应为106,504.07
如果我添加这样的内容:
SELECT CONCAT('', FORMAT(sum(currency),2)) as result from currency_table
金额为105.00
有什么办法可以得到正确的结果106,504.07
?
答案 0 :(得分:2)
看起来currency
的数据类型是字符串类型,其中的逗号在尝试执行隐式强制转换时使引擎感到困惑。尝试将其删除。
SELECT sum(replace(currency, ',', '')) result
FROM currency_table;
但是您应该真正修改设计并为该列使用适当的数字类型。