Aracılığıyla paylaş


REGEXP_SPLIT_TO_TABLE

Şunlar için geçerlidir: SQL Server 2025 (17.x) Microsoft Fabric'teAzure SQL VeritabanıAzure SQL Yönetilen Örneği SQL veritabanı

Regex deseni ile ayrılmış bir dize tablosu döndürür. Desenle eşleşme yoksa işlev dizesini döndürür.

REGEXP_SPLIT_TO_TABLE
(
    string_expression,
    pattern_expression [ , flags ]
)

Veritabanı uyumluluk düzeyi 170 gerektirir. Veritabanı uyumluluk düzeyini ayarlamak için ALTER DATABASE (Transact-SQL) uyumluluk düzeyini gözden geçirin.

Note

Normal ifadeler Azure SQL Yönetilen Örneği'nde SQL Server 2025 veya Always-up-to-dategüncelleştirme ilkesiyle kullanılabilir.

Arguments

string_expression

Karakter dizesinin ifadesi.

Sabit, değişken veya karakter dizesi sütunu olabilir.

Veri türleri: char, nchar, varchar veya nvarchar.

Note

REGEXP_LIKE, REGEXP_COUNTve REGEXP_INSTR işlevleri, string_expression parametresi için 2 MB'a kadar LOB türlerini (varchar(max) ve nvarchar(max)) destekler.

pattern_expression

Eşleşecek normal ifade deseni. Genellikle bir metin değişmez değeridir.

Veri türleri: char, nchar, varchar veya nvarchar. pattern_expression en fazla 8.000 bayt karakter uzunluğunu destekler.

flags

Eşleşmeleri aramak için kullanılan değiştiricileri belirten bir veya daha fazla karakter. Tür, en fazla 30 karakter içeren varchar veya char'tır.

Örneğin, ims. Varsayılan değer: c. Boş bir dize (' ') sağlanırsa, varsayılan değer ('c')olarak değerlendirilir. Veya c diğer karakter ifadelerini sağlayın. Bayrak birden çok çelişkili karakter içeriyorsa, SQL Server son karakteri kullanır.

Örneğin, regex değerini belirtirseniz ic büyük/küçük harfe duyarlı eşleştirme döndürür.

Değer , Desteklenen bayrak değerleri'nde listelenenlerden farklı bir karakter içeriyorsa, sorgu aşağıdaki örneğe benzer bir hata döndürür:

Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Desteklenen bayrak değerleri
Flag Description
i Büyük/küçük harfe duyarlı değil (varsayılan false)
m Çok satırlı mod: ^ ve $ başlangıç/bitiş metnine ek olarak başlangıç/bitiş satırını eşleştir (varsayılan false)
s Eşleşmeye . izin ver \n (varsayılan false)
c Büyük/küçük harfe duyarlı (varsayılan true)

Returns

REGEXP_SPLIT_TO_TABLE aşağıdaki iki sütunlu tabloyu döndürür:

Sütun adı Veri türü Description
value veya string_expression ile aynı tür Sınırlayıcı bulunursa, eşleşen alt dizedir. Aksi takdirde tüm ifade bu olur.
ordinal bigint Giriş ifadesinden her alt dize konumunun 1 tabanlı dizin değeri.

için the quick brown fox jumps over the lazy dogbir tablo bölme döndürür.

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