我有一个粗略的Varchar字段,字段有$ 1,000,$ 190,$ 2,900
我需要对此列求和,我应该将列更改为INT吗?然后使用正则表达式删除$?任何建议。
答案 0 :(得分:3)
您应修复数据库,以便将数字存储为数字,而不是字符串。但是,要做到这一点,你可以尝试:
select sum(replace(replace(gross, ',', ''), '$', '') + 0)
这会将您的示例转换为数字并添加它们。如果某些内容采用不同的格式,则会以静默方式为该值生成0
。
顺便说一句,“粗略”是包含数字的字段varchar字段的恰当名称。