Heim >Datenbank >MySQL-Tutorial >Wie summiere ich durch Kommas getrennte Zahlen in einer MySQL 4-Spalte?
Summieren einer durch Kommas getrennten Spalte in MySQL 4
Ein Benutzer ist auf eine Situation gestoßen, in der Daten in einer Quellspalte durch Kommas getrennt dargestellt werden können Listen mit Zahlen. Das Ziel besteht darin, diese Daten in eine Zielspalte umzuwandeln, in der die Zahlen summiert werden. Diese Herausforderung entsteht bei der Verwendung von MySQL Version 4, der die in MySQL 5.0 eingeführten Funktionen fehlen.
Lösung
Leider unterstützt MySQL 4 keine gespeicherten Prozeduren, die unerlässlich sind für komplizierte String-Manipulationsaufgaben wie die hier vorgestellte. Daher ist ein Upgrade auf MySQL 5.0 oder höher die empfohlene Lösung.
MySQL 5.0-Lösung
Für MySQL Version 5.0 und höher kann die folgende Lösung verwendet werden:
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 ;
Beispielverwendung:
mysql> SELECT SUM_OF_LIST("5,2.1") AS Result; +--------+ | Result | +--------+ | 7.1 | +--------+
Das obige ist der detaillierte Inhalt vonWie summiere ich durch Kommas getrennte Zahlen in einer MySQL 4-Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!