如何对 MySQL 4 列中逗号分隔的数字求和?

Linda Hamilton
发布: 2024-10-28 22:49:02
原创
741 人浏览过

How to Sum Comma Separated Numbers in a MySQL 4 Column?

MySQL 4 中对逗号分隔列进行求和

用户遇到了源列中的数据可以以逗号分隔形式呈现的情况数字列表。目标是将这些数据转换为对数字进行求和的目标列。使用 MySQL 版本 4 时会出现此挑战,该版本缺少 MySQL 5.0 中引入的功能。

解决方案

不幸的是,MySQL 4 不支持存储过程,而存储过程是必不可少的用于像所介绍的那样复杂的字符串操作任务。因此,建议升级到 MySQL 5.0 或更高版本。

MySQL 5.0 解决方案

对于 MySQL 5.0 及以上版本,可以采用以下解决方案:

DELIMITER //
CREATE FUNCTION SUM_OF_LIST(s TEXT)
  RETURNS DOUBLE
  DETERMINISTIC
  NO SQL
BEGIN
  DECLARE res DOUBLE DEFAULT 0;
  WHILE INSTR(s, ",") > 0 DO
    SET res = res + SUBSTRING_INDEX(s, ",", 1);
    SET s = MID(s, INSTR(s, ",") + 1);
  END WHILE;
  RETURN res + s;
END //
DELIMITER ;
登录后复制

用法示例:

mysql> SELECT SUM_OF_LIST("5,2.1") AS Result;
+--------+
| Result |
+--------+
|    7.1 |
+--------+
登录后复制

以上是如何对 MySQL 4 列中逗号分隔的数字求和?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!