SQL Academy
Premium
Funktionsreferenz

REGEXP_SPLIT_TO_TABLE

Teilt einen String anhand eines regulären Ausdrucks und gibt jeden Teil als eigene Zeile zurück.

PostgreSQL 17.5
REGEXP_SPLIT_TO_TABLE(string, pattern[, flags])

Parameter

stringtext
Ausgangsstring
patterntext
Regulärer Ausdruck für das Trennzeichen
flagstextoptional
Flags, zum Beispiel i, um Groß- und Kleinschreibung zu ignorieren

Rückgabewert

Menge von text-Werten, eine Zeile pro Teil; leere Teile zwischen benachbarten Trennzeichen und an den Rändern werden auch zurückgegeben

Beispiele

Liste mit verschiedenen Trennzeichen

PostgreSQL 17.5
SELECT REGEXP_SPLIT_TO_TABLE('sql, python;java', '[,;] *');
regexp_split_to_table
sql
python
java

Namen der Familienmitglieder nach Wörtern

PostgreSQL 17.5
SELECT member_name,
	REGEXP_SPLIT_TO_TABLE(member_name, ' ') AS name_part
FROM FamilyMembers;
member_namename_part
Headley QuinceyHeadley
Headley QuinceyQuincey
Flavia QuinceyFlavia
Flavia QuinceyQuincey
Andie QuinceyAndie
Andie QuinceyQuincey
Lela QuinceyLela
Lela QuinceyQuincey
Annie QuinceyAnnie
Annie QuinceyQuincey

Details

Die Funktion gibt eine Menge von Zeilen zurück, deshalb vervielfacht sie in SELECT eine Tabellenzeile, eine pro Teil. Um die Teile als Array zu bekommen, verwende REGEXP_SPLIT_TO_ARRAY, und um an einem einfachen Trennzeichen ohne Muster zu teilen, STRING_TO_TABLE.

Siehe auch