首页  >  文章  >  数据库  >  如何对 MySQL 4 列中逗号分隔的数字求和?

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

Linda Hamilton
Linda Hamilton原创
2024-10-28 22:49:02742浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn