Heim > Datenbank > MySQL-Tutorial > Wie teile ich eine durch Kommas getrennte Zeichenfolge mithilfe regulärer Ausdrücke in eine temporäre MySQL-Tabelle auf?

Wie teile ich eine durch Kommas getrennte Zeichenfolge mithilfe regulärer Ausdrücke in eine temporäre MySQL-Tabelle auf?

Patricia Arquette
Freigeben: 2024-12-19 21:38:13
Original
112 Leute haben es durchsucht

How to Split a Comma-Separated String into a MySQL Temp Table Using Regular Expressions?

MySQL teilt durch Kommas getrennte Zeichenfolgen mithilfe von RegEx in temporäre Tabellen auf

MySQL verfügt nicht über eine dedizierte Funktion zum Teilen von Zeichenfolgen, sodass alternative Ansätze erforderlich sind. Eine Methode besteht darin, eine Teilung zu emulieren, indem eine benutzerdefinierte Funktion iteriert wird.

Benutzerdefinierte Teilungsfunktion

Die folgende Funktion teilt eine Zeichenfolge x, die an der Position pos durch delim getrennt ist:

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');
Nach dem Login kopieren

Looping und Einfügen in eine temporäre Datei Tabelle

Um über die geteilte Zeichenfolge zu iterieren und sie in eine temporäre Tabelle einzufügen, verwenden Sie eine LOOP-Anweisung:

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

Hinweis:Verwenden Sie eine Skriptsprache wie PHP ist für solche Aufgaben möglicherweise effizienter, als sich ausschließlich auf MySQL zu verlassen.

Das obige ist der detaillierte Inhalt vonWie teile ich eine durch Kommas getrennte Zeichenfolge mithilfe regulärer Ausdrücke in eine temporäre MySQL-Tabelle auf?. 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