Bagikan melalui


REGEXP_SPLIT_TO_TABLE

Berlaku untuk: Database SQL SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed Instancedi Microsoft Fabric

Mengembalikan tabel string yang dipisahkan, dibatasi oleh pola regex. Jika tidak ada kecocokan dengan pola, fungsi mengembalikan string.

REGEXP_SPLIT_TO_TABLE
(
    string_expression,
    pattern_expression [ , flags ]
)

Memerlukan tingkat kompatibilitas database 170. Untuk mengatur tingkat kompatibilitas database, tinjau tingkat kompatibilitas ALTER DATABASE (Transact-SQL).

Note

Ekspresi reguler tersedia di Azure SQL Managed Instance dengan kebijakan pembaruanSQL Server 2025 atau Always-up-to-date.

Arguments

string_expression

Ekspresi string karakter.

Bisa berupa konstanta, variabel, atau kolom string karakter.

Jenis data: karakter, nchar, varchar , atau nvarchar.

Note

Fungsi REGEXP_LIKE, REGEXP_COUNT, dan REGEXP_INSTR mendukung jenis LOB (varchar(max) dan nvarchar(max)) hingga 2 MB untuk parameter string_expression .

pattern_expression

Pola ekspresi reguler untuk dicocokkan. Biasanya teks harfiah.

Jenis data: karakter, nchar, varchar , atau nvarchar. pattern_expression mendukung panjang karakter maksimum 8.000 byte.

flags

Satu atau beberapa karakter yang menentukan pengubah yang digunakan untuk mencari kecocokan. Jenisnya varchar atau karakter, dengan maksimum 30 karakter.

Contohnya, ims. Defaultnya adalah c. Jika string kosong (' ') disediakan, string tersebut akan diperlakukan sebagai nilai default ('c'). Berikan c atau ekspresi karakter lainnya. Jika bendera berisi beberapa karakter kontradiktif, maka SQL Server menggunakan karakter terakhir.

Misalnya, jika Anda menentukan ic regex mengembalikan pencocokan peka huruf besar/kecil.

Jika nilai berisi karakter selain yang tercantum di Nilai bendera yang didukung, kueri mengembalikan kesalahan seperti contoh berikut:

Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Nilai bendera yang didukung
Flag Description
i Tidak peka huruf besar/kecil (default false)
m Mode multibaris: ^ dan $ cocokkan baris awal/akhir selain teks awal/akhir (default false)
s Biarkan . cocok \n (default false)
c Peka huruf besar/kecil (default true)

Returns

REGEXP_SPLIT_TO_TABLE mengembalikan tabel dua kolom berikut:

Nama kolom Jenis data Description
value Jenis yang sama seperti string_expression atau varchar Jika pemisah ditemukan, itu adalah substring yang cocok. Jika tidak, itu adalah seluruh ekspresi.
ordinal bigint Nilai indeks berbasis 1 dari setiap posisi substring dari ekspresi input.

Mengembalikan pemisahan tabel untuk 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