Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Database SQL SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
di Microsoft Fabric
Mengembalikan satu kemunculan substring string yang cocok dengan pola ekspresi reguler. Jika tidak ada kecocokan yang ditemukan, maka akan mengembalikan NULL.
REGEXP_SUBSTR
(
string_expression,
pattern_expression [ , start [ , occurrence [ , flags [ , group ] ] ] ]
)
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.
start
Tentukan posisi awal untuk pencarian dalam string pencarian. Optional. Jenisnya adalah int atau bigint.
Penomoran berbasis 1, yang berarti karakter pertama dalam ekspresi adalah 1 dan nilainya harus >= 1. Jika ekspresi mulai kurang dari 1, mengembalikan kesalahan. Jika ekspresi awal lebih besar dari panjang string_expression, fungsi akan mengembalikan NULL. Defaultnya adalah 1.
occurrence
Ekspresi (bilangan bulat positif) yang menentukan kemunculan ekspresi pola dalam string sumber yang akan dicari atau diganti. Defaultnya adalah 1. Mencari pada karakter pertama string_expression. Untuk bilangan bulat positif n, ia mencari kemunculan ke-n yang dimulai dengan karakter pertama setelah kemunculan pertama pattern_expression, dan sebagainya.
flags
Satu atau beberapa karakter yang menentukan pengubah yang digunakan untuk mencari kecocokan. Jenisnya varchar atau karakter, dengan maksimum 30 karakter.
Misalnya, 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) |
group
Menentukan grup tangkapan mana (subekspresi) dari pattern_expression menentukan posisi dalam string_expression yang akan dikembalikan. Grup penangkapan (subekspresi) adalah fragmen pola yang diapit dalam tanda kurung dan dapat disarangkan.
Grup penangkapan diberi nomor dalam urutan di mana tanda kurung kirinya muncul. Jenis data grup adalah int dan nilainya harus lebih besar dari atau sama dengan 0, dan tidak boleh lebih besar dari jumlah grup tangkapan (subekspresi) dalam pattern_expression. Nilai grup default adalah 0, yang menunjukkan bahwa posisi didasarkan pada string yang cocok dengan seluruh pola.
Mengembalikan nilai
String.
Examples
Ekstrak nama domain dari alamat email.
SELECT REGEXP_SUBSTR(EMAIL, '@(.+)$', 1, 1, 'i', 1) AS DOMAIN
FROM CUSTOMERS;
Temukan kata pertama dalam kalimat yang dimulai dengan vokal.
SELECT REGEXP_SUBSTR(COMMENT, '\b[aeiou]\w*', 1, 1, 'i') AS WORD
FROM FEEDBACK;
Dapatkan empat digit terakhir dari nomor kartu kredit.
SELECT REGEXP_SUBSTR(CARD_NUMBER, '\d{4}$') AS LAST_FOUR
FROM PAYMENTS;
Konten terkait
- ekspresi reguler
- fungsi ekspresi reguler (Transact-SQL)