我有许多值存储为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
请协助,谢谢!
答案 0 :(得分:2)
您可以使用REPLACE功能删除逗号:
SELECT SUM(CAST(REPLACE(value, ',', '') as DECIMAL(10,2)))
FROM meta_bs
WHERE bs_id = 361
请参阅小提琴here。