SQL中的Sum varchar字段

时间:2014-04-19 20:19:07

标签: mysql

我有一个粗略的Varchar字段,字段有$ 1,000,$ 190,$ 2,900

我需要对此列求和,我应该将列更改为INT吗?然后使用正则表达式删除$?任何建议。

1 个答案:

答案 0 :(得分:3)

您应修复数据库,以便将数字存储为数字,而不是字符串。但是,要做到这一点,你可以尝试:

select sum(replace(replace(gross, ',', ''), '$', '') + 0)

这会将您的示例转换为数字并添加它们。如果某些内容采用不同的格式,则会以静默方式为该值生成0

顺便说一句,“粗略”是包含数字的字段varchar字段的恰当名称。