如何将返回值转换为十进制和SUM MySQL?

时间:2013-06-11 09:53:27

标签: mysql

我有许多值存储为varchar,其中值以字符串形式存储:

10,000,000.00

我想将此数字转换为双倍显示:

10000000.00然后将其与该格式的其余值进行SUM整理

由于这些字段没有类型,因此可能存在以下形式的输入数据:

10000.00这也应该被接受。

我如何转换非结构化数字? 我试过了:

SELECT SUM(CAST(value as DECIMAL(10,2))) FROM meta_bs WHERE bs_id = 361

在上述情况中:

10000000.00变为10.00

请协助,谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用REPLACE功能删除逗号:

SELECT SUM(CAST(REPLACE(value, ',', '') as DECIMAL(10,2)))
FROM   meta_bs
WHERE  bs_id = 361

请参阅小提琴here