在MySQL 中對逗號分隔列求和:舊版的解決方案
在MySQL 版本4 中,處理逗號分隔的數字列出現嘗試執行聚合時的挑戰。然而,雖然現代版本的 MySQL 提供了預存程序來解決此類複雜性,但它們在 MySQL 4 中不可用。
不幸的是,MySQL 4 是一個過時的版本,強烈建議不要使用它。 4.1 分支的最新版本是 2008 年的 4.1.25,使其不受支援並過時。大多數 Linux 發行版已停止提供 MySQL 4。如果可能,強烈建議升級到 MySQL 5。
儘管如此,如果升級不可行,這裡有一個在MySQL 4 中對逗號分隔的小數列求和的有效解決方案:
<code class="mysql">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 ;</code>
使用範例:
<code class="mysql">mysql> SELECT SUM_OF_LIST("5,2.1") AS Result; +--------+ | Result | +--------+ | 7.1 | +--------+</code>
以上是如何在舊版 MySQL 版本 (MySQL 4) 中對列中的逗號分隔值求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!