Heim >Datenbank >MySQL-Tutorial >Kann MySQL durch Kommas getrennte Zeichenfolgen in eine temporäre Tabelle aufteilen?

Kann MySQL durch Kommas getrennte Zeichenfolgen in eine temporäre Tabelle aufteilen?

DDD
DDDOriginal
2024-12-08 19:12:16997Durchsuche

Can MySQL Split Comma-Separated Strings into a Temporary Table?

Kann MySQL durch Kommas getrennte Zeichenfolgen in eine temporäre Tabelle aufteilen?

Das Aufteilen von durch Kommas getrennten Zeichenfolgen in eine temporäre Tabelle ist eine häufige Aufgabe bei der Datenbearbeitung . Obwohl MySQL für diese Aufgabe keine integrierte Funktion hat, kann sie mit alternativen Methoden erreicht werden.

Ein Ansatz besteht darin, eine benutzerdefinierte Funktion zu erstellen, die die Zeichenfolgenaufteilung implementiert. Zu diesem Zweck kann die Funktion SPLIT_STR aus der bereitgestellten Antwort verwendet werden. Es extrahiert iterativ Teilzeichenfolgen basierend auf einem Trennzeichen und einer Position und gibt eine leere Zeichenfolge zurück, wenn keine Übereinstimmung gefunden wird.

Um über die geteilte Zeichenfolge zu iterieren und eine temporäre Tabelle zu füllen, kann eine Schleife verwendet werden. Eine FOR-Schleife kann verwendet werden, um die SPLIT_STR-Funktion inkrementell aufzurufen, und die Ergebnisse können mithilfe von INSERT-Abfragen in die temporäre Tabelle eingefügt werden.

Es ist jedoch wichtig zu beachten, dass dieser Ansatz benutzerdefinierte Codierung und Kenntnisse der MySQL-Schleife erfordert Syntax. Eine alternative Lösung wäre die Verwendung einer Skriptsprache wie PHP oder Python, um die Zeichenfolgenaufteilung durchzuführen und die Ergebnisse in die temporäre Tabelle einzufügen.

Hier ist der Code für eine MySQL-Schleife, die die geteilte Zeichenfolge durchläuft und einfügt Werte in eine temporäre Tabelle:

DELIMITER $$

CREATE PROCEDURE ABC(fullstr)

BEGIN
   DECLARE a INT Default 0 ;
   DECLARE str VARCHAR(255);
   simple_loop: LOOP
      SET a=a+1;
      SET str=SPLIT_STR(fullstr,"|",a);
      IF str='' THEN
         LEAVE simple_loop;
      END IF;
      #Do Inserts into temp table here with str going into the row
      insert into my_temp_table values (str);
   END LOOP simple_loop;
END $$

Das obige ist der detaillierte Inhalt vonKann MySQL durch Kommas getrennte Zeichenfolgen in eine temporäre Tabelle aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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