mysql - SQL中的Sum varchar字段

标签 mysql

我有一个 Varchar 字段表示总收入,该字段有 $1,000、$190、$2,900 之类的东西

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

最佳答案

您应该修复数据库,以便将数字存储为数字,而不是字符串。但是,要求和,您可以尝试:

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

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

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

关于mysql - SQL中的Sum varchar字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23175042/

相关文章:

mysql - 按相反顺序选择小于日期的 x 条记录

php - AngularJS、PHP 表单在我自己的服务器上运行良好。将空白行插入 Godaddy 上的数据库

mysql - 如何在MySQL语句中使用嵌套循环和变量

php - 在mysql存储过程中使用fetch table获取表信息

mysql - 子查询返回 null 的左连接

具有唯一 ID 的 MySQL 中央数据库

php - php中的粘性下拉框问题

php - 如何在 PHP PDO 中插入空字符串而不是 null

mysql - 为什么此查询返回空行?

MySQL self-join with order by optimization