Heim >Datenbank >MySQL-Tutorial >Wie kann ich durch Kommas getrennte Dezimalwerte in einer MySQL 4-Datenbankspalte summieren?
Summieren eines durch Kommas getrennten Spaltendilemmas in MySQL 4
In einer MySQL 4-Datenbank kann es beim Versuch, Daten zu übertragen, zu einer Herausforderung kommen zwischen Tabellen, insbesondere wenn eine der Spalten eine durch Kommas getrennte Liste von Dezimalwerten anstelle einer einzelnen Ziffer enthält. Das Erreichen der gewünschten Summierung dieser Werte innerhalb der SQL-Umgebung stellt aufgrund des Mangels an bestimmten Funktionen Schwierigkeiten dar.
In solchen Fällen erweist sich die Verwendung gespeicherter Prozeduren als unerlässlich, da diese erst mit der Einführung von MySQL 5.0 eingeführt wurden. Da MySQL 4 jedoch eine veraltete Version ohne aktuelle Unterstützung oder Verfügbarkeit in Mainstream-Linux-Distributionen ist, wird ein Upgrade dringend empfohlen.
Um das konkrete Problem zu lösen, wird eine auf MySQL 5.0 und höher zugeschnittene Lösung bereitgestellt:
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 ;
Diese Funktion kann durch das folgende Beispiel verwendet werden:
SELECT SUM_OF_LIST("5,2.1") AS Result;
Die resultierende Ausgabe wäre:
+--------+ | Result | +--------+ | 7.1 | +--------+
Das obige ist der detaillierte Inhalt vonWie kann ich durch Kommas getrennte Dezimalwerte in einer MySQL 4-Datenbankspalte summieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!