Delen via


REGEXP_SPLIT_TO_TABLE preview

Van toepassing op: SQL Server 2025 (17.x) Preview AzureSQL Database Azure SQL Managed InstanceSQL-databasein Microsoft Fabric Preview

Note

Omdat het om een preview-functie gaat, is de technologie die in dit artikel wordt behandeld onderhevig aan de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.

Retourneert een tabel met tekenreeksen gesplitst, gescheiden door het regex-patroon. Als het patroon niet overeenkomt, retourneert de functie de tekenreeks.

REGEXP_SPLIT_TO_TABLE
     (
      string_expression,
      pattern_expression [, flags ]
     )

Vereist databasecompatibiliteitsniveau 170. Als u het compatibiliteitsniveau van de database wilt instellen, controleert u het compatibiliteitsniveau ALTER DATABASE (Transact-SQL).

Note

Reguliere expressies zijn beschikbaar in Azure SQL Managed Instance met het sql Server 2025- of Always-up-to-datumupdatebeleid.

Arguments

string_expression

Een expressie van een tekenreeks.

Dit kan een constante, variabele of kolom van tekenreeks zijn.

Gegevenstypen: teken, nchar, varcharof nvarchar.

Note

De REGEXP_LIKEfuncties , REGEXP_COUNTen REGEXP_INSTR functies ondersteunen LOB-typen (varchar(max) en nvarchar(max)) tot 2 MB voor de parameter string_expression .

pattern_expression

Patroon voor reguliere expressies dat overeenkomt. Meestal een letterlijke tekst.

Gegevenstypen: teken, nchar, varcharof nvarchar. pattern_expression ondersteunt een maximale tekenlengte van 8.000 bytes.

flags

Een of meer tekens die de modifiers opgeven die worden gebruikt voor het zoeken naar overeenkomsten. Het type is varchar of teken, met maximaal 30 tekens.

Bijvoorbeeld: ims. De standaardwaarde is c. Als er een lege tekenreeks wordt opgegeven (' '), wordt deze behandeld als de standaardwaarde ('c'). Geef c of andere tekenexpressies op. Als de vlag meerdere tegenstrijdige tekens bevat, gebruikt SQL Server het laatste teken.

Als u bijvoorbeeld opgeeft ic de regex hoofdlettergevoelige overeenkomsten retourneert.

Als de waarde een ander teken bevat dan de waarden in Ondersteunde vlagwaarden, retourneert de query een fout zoals in het volgende voorbeeld:

Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Ondersteunde vlagwaarden
Flag Description
i Hoofdlettergevoelig (standaard false)
m Modus met meerdere regels: ^ en $ begin-/eindregel vergelijken naast begin-/eindtekst (standaard false)
s Laten . overeenkomen \n (standaard false)
c Hoofdlettergevoelig (standaard true)

Returns

REGEXP_SPLIT_TO_TABLE retourneert de volgende tabel met twee kolommen:

Kolomnaam Gegevenstype Description
value Hetzelfde type als string_expression of varchar Als het scheidingsteken wordt gevonden, is dit de overeenkomende subtekenreeks. Anders is dit de hele expressie.
ordinal bigint Op 1 gebaseerde indexwaarde van elke subtekenreekspositie van de invoerexpressie.

Retourneer een tabelsplitsing voor 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