Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann ich durch Kommas getrennte Dezimalwerte in einer MySQL 4-Datenbankspalte summieren?

Mary-Kate Olsen
Freigeben: 2024-10-27 14:46:29
Original
490 Leute haben es durchsucht

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

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 ;
Nach dem Login kopieren

Diese Funktion kann durch das folgende Beispiel verwendet werden:

SELECT SUM_OF_LIST("5,2.1") AS Result;
Nach dem Login kopieren

Die resultierende Ausgabe wäre:

+--------+
| Result |
+--------+
|    7.1 |
+--------+
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!