總結MySQL 4 中的逗號分隔列困境
在MySQL 4 資料庫中,您在嘗試傳輸資料時可能會遇到挑戰表之間,特別是當其中一列包含以逗號分隔的十進制值列表而不是單一數字時。由於缺乏某些功能,在 SQL 環境中實現這些值的需求和會遇到困難。
在這種情況下,使用預存程序被證明是必不可少的,因為這些是在 MySQL 5.0 出現時才引入的。不過,由於 MySQL 4 是一個過時的版本,目前主流 Linux 發行版都不支援或不可用,因此強烈建議升級。
為了解決當前的具體問題,提供了針對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 ;
可以透過以下範例使用此函數:
SELECT SUM_OF_LIST("5,2.1") AS Result;
結果輸出將是:
+--------+ | Result | +--------+ | 7.1 | +--------+
以上是如何對 MySQL 4 資料庫列中逗號分隔的十進位值求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!