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中文網其他相關文章!