Freigeben über


REGEXP_SPLIT_TO_TABLE

Gilt für: SQL Server 2025 (17.x) Azure SQL-Datenbank AzureSQL Managed InstanceSQL SQL-Datenbank in Microsoft Fabric

Gibt eine Tabelle mit geteilten Zeichenfolgen zurück, die durch das Regex-Muster getrennt ist. Wenn keine Übereinstimmung mit dem Muster vorhanden ist, gibt die Funktion die Zeichenfolge zurück.

REGEXP_SPLIT_TO_TABLE
(
    string_expression,
    pattern_expression [ , flags ]
)

Erfordert Datenbankkompatibilitätsebene 170. Überprüfen Sie zum Festlegen der Datenbankkompatibilitätsstufe ALTER DATABASE (Transact-SQL) kompatibilitätsstufe.

Note

Reguläre Ausdrücke sind in azure SQL Managed Instance mit der SQL Server 2025- oder Always-up-to-Datumsaktualisierungsrichtlinie verfügbar.

Arguments

string_expression

Ein Ausdruck einer Zeichenfolge.

Dabei kann es sich um eine Konstante, Variable oder Spalte von Zeichenfolgen handeln.

Datentypen: Char, nchar, varcharoder nvarchar.

Note

Die REGEXP_LIKE, REGEXP_COUNTund REGEXP_INSTR Funktionen unterstützen LOB-Typen (varchar(max) und nvarchar(max)) bis zu 2 MB für den string_expression-Parameter .

pattern_expression

Muster für reguläre Ausdrücke, das übereinstimmen soll. In der Regel ein Textliteral.

Datentypen: Char, nchar, varcharoder nvarchar. pattern_expression unterstützt eine maximale Zeichenlänge von 8.000 Byte.

flags

Mindestens ein Zeichen, das die Modifizierer für die Suche nach Übereinstimmungen angibt. Der Typ ist varchar oder Zeichenmit maximal 30 Zeichen.

Beispiel: ims. Der Standardwert lautet c. Wenn eine leere Zeichenfolge (' ') angegeben wird, wird sie als Standardwert ('c')behandelt. Geben Sie c oder andere Zeichenausdrücke an. Wenn das Kennzeichen mehrere widersprüchliche Zeichen enthält, verwendet SQL Server das letzte Zeichen.

Wenn Sie z. B. angeben, ic der regex-Wert den Abgleich zwischen Groß- und Kleinschreibung zurückgibt.

Wenn der Wert ein anderes Zeichen als die unter unterstützten Flagwerteenthält, gibt die Abfrage einen Fehler wie im folgenden Beispiel zurück:

Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Unterstützte Flagwerte
Flag Description
i Groß-/Kleinschreibung wird nicht beachtet (Standard false)
m Mehrzeiligen Modus: ^ und $ Zuordnen der Anfangs-/Endzeile zusätzlich zum Anfangs-/Endtext (Standard false)
s Übereinstimmung . zulassen \n (Standardfalse)
c Groß-/Kleinschreibung beachten (Standard true)

Returns

REGEXP_SPLIT_TO_TABLE gibt die folgende zweispaltige Tabelle zurück:

Spaltenname Datentyp Description
value Gleicher Typ wie string_expression oder Varchar Wenn das Trennzeichen gefunden wird, ist es die entsprechende Teilzeichenfolge. Andernfalls ist es der gesamte Ausdruck.
ordinal bigint 1-basierte Indexwert jeder Teilzeichenfolgenposition aus dem Eingabeausdruck.

Zurückgeben einer Tabellenteilung für the quick brown fox jumps over the lazy dog.

SELECT *
FROM REGEXP_SPLIT_TO_TABLE ('the quick brown fox jumps over the lazy dog', '\s+');
Value  Ordinal
the    1
quick  2
brown  3
fox    4
jumps  5
over   6
the    7
lazy   8
dog    9