Megosztás a következőn keresztül:


REGEXP_SPLIT_TO_TABLE

A következőkre vonatkozik: SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL Database a Microsoft Fabricben

A regex mintával tagolt, felosztott sztringtáblát adja vissza. Ha nincs egyezés a mintával, a függvény visszaadja a sztringet.

REGEXP_SPLIT_TO_TABLE
(
    string_expression,
    pattern_expression [ , flags ]
)

170-es adatbázis-kompatibilitási szintet igényel. Az adatbázis-kompatibilitási szint beállításához tekintse át az ALTER DATABASE (Transact-SQL) kompatibilitási szintjét.

Note

A reguláris kifejezések az SQL Server 2025 vagy always-up-todátumfrissítési szabályzattal rendelkező felügyelt Azure SQL-példányban érhetők el.

Arguments

string_expression

Karaktersztring kifejezése.

Lehet állandó, változó vagy karaktersztring oszlopa.

Adattípusok: karakter, nchar, varcharvagy nvarchar.

Note

A REGEXP_LIKE, REGEXP_COUNTés REGEXP_INSTR függvények legfeljebb 2 MB-ig támogatják a LOB-típusokat (varchar(max) és nvarchar(max)) a string_expression paraméterhez.

pattern_expression

Egyező reguláris kifejezésminta. Általában szövegkonstans.

Adattípusok: karakter, nchar, varcharvagy nvarchar. pattern_expression legfeljebb 8000 bájt karakterhosszt támogat.

flags

Egy vagy több karakter, amely megadja az egyezések kereséséhez használt módosítókat. A típus varchar vagy karakter, legfeljebb 30 karakterből áll.

Például: ims. Az alapértelmezett érték a c. Ha üres sztring (' ') van megadva, akkor a rendszer az alapértelmezett értékként kezeli ('c'). Adjon meg c vagy bármely más karakterkifejezést. Ha a jelölő több egymásnak ellentmondó karaktert tartalmaz, akkor az SQL Server az utolsó karaktert használja.

Ha például ic a regex megkülönbözteti a kis- és nagybetűket.

Ha az érték Támogatott jelölőértékeklistán felsoroltaktól eltérő karaktert tartalmaz, a lekérdezés az alábbi példához hasonló hibát ad vissza:

Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Támogatott jelölőértékek
Flag Description
i Kis- és nagybetűk megkülönböztetése (alapértelmezett false)
m Többsoros mód: ^ és $ a kezdő/záró szöveg mellett egyezik a kezdő/záró vonallal (alapértelmezett false)
s Egyezés beállítása .\n (alapértelmezett false)
c Kis- és nagybetűk megkülönböztetése (alapértelmezett true)

Returns

REGEXP_SPLIT_TO_TABLE a következő kétoszlopos táblát adja vissza:

Oszlop neve Adattípus Description
value Ugyanaz a típus, mint a varchar vagy a string_expressionvarchar Ha a határoló található, az a megfelelő részszúrás. Ellenkező esetben ez az egész kifejezés.
ordinal bigint Az egyes részszűrési pozíciók 1-alapú indexértéke a bemeneti kifejezésből.

Tábla felosztását adja vissza a következőhöz 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