MySQL 4 でのカンマ区切り列の合計
ユーザーは、ソース列のデータがカンマ区切りとして表示される状況に遭遇しました。数字のリスト。目的は、このデータを数値が合計される宛先列に変換することです。この問題は、MySQL 5.0 で導入された機能が欠けている MySQL バージョン 4 を使用するときに発生します。
解決策
残念ながら、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 中国語 Web サイトの他の関連記事を参照してください。