如何對 MySQL 4 資料庫列中逗號分隔的十進位值求和?

Mary-Kate Olsen
發布: 2024-10-27 14:46:29
原創
491 人瀏覽過

How can I sum comma-separated decimal values in a MySQL 4 database column?

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!