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: Titik akhir analitik SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL di Microsoft Fabric dan Gudang dalam database Microsoft Fabric
SQL di Microsoft Fabric
Fungsi REGEXP_REPLACE ekspresi reguler skalar mengembalikan string sumber yang dimodifikasi dan digantikan oleh string pengganti, di mana kemunculan pola ekspresi reguler ditemukan. Jika tidak ada kecocokan yang ditemukan, fungsi mengembalikan string asli.
REGEXP_REPLACE
(
string_expression,
pattern_expression [ , string_replacement [ , start [ , occurrence [ , flags ] ] ] ]
)
Arguments
string_expression
Ekspresi string karakter.
Bisa berupa konstanta, variabel, atau kolom string karakter.
Jenis data: karakter, nchar, varchar , atau nvarchar.
Note
Fungsinya REGEXP_* 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.
string_replacement
Ekspresi string yang menentukan string pengganti untuk substring yang cocok dan menggantikan substring yang cocok dengan pola. Tipe string_replacement data dapat berupa char, varchar, nchar, nvarchar, varchar(max), atau nvarchar(max) (jenis LOB didukung hingga 2 MB). Jika string kosong ('') ditentukan, fungsi akan menghapus semua substring yang cocok dan mengembalikan string yang dihasilkan. String pengganti default adalah string kosong ('').
string_replacement dapat berisi \n, di mana n adalah 1 hingga 9, untuk menunjukkan bahwa substring sumber yang cocok dengan grup kurung n'th (subekspresi) pola harus dimasukkan, dan dapat berisi & untuk menunjukkan bahwa substring yang cocok dengan seluruh pola harus dimasukkan. Tulis \ jika Anda perlu meletakkan garis miring terbelakang harfiah dalam teks pengganti.
Misalnya
REGEXP_REPLACE('123-456-7890', '(\d{3})-(\d{3})-(\d{4})', '(\1) \2-\3')
Returns:
(123) 456-7890
Jika yang disediakan \nstring_replacement lebih besar dari jumlah grup dalam pattern_expression, maka fungsi mengabaikan nilai .
Contohnya:
REGEXP_REPLACE('123-456-7890', '(\d{3})-(\d{3})-(\d{4})', '(\1) (\4)-xxxx')
Returns:
(123) ()-xxxx
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 string_expression. Defaultnya adalah 1.
occurrence
Ekspresi (bilangan bulat positif) yang menentukan kemunculan ekspresi pola dalam string sumber yang harus dicari atau diganti. Nilai defaultnya adalah 0, yang berarti semua kemunculan pattern_expression diganti. Untuk bilangan bulat npositif, ia mencari string_expressionnuntuk kemunculan ke, melanjutkan pencarian dari karakter segera setelah setiap kecocokan sebelumnya.
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) |
Mengembalikan nilai
Expression.
Dukungan platform
- Pada Azure SQL Managed Instance, fungsi ekspresi reguler T-SQL tersedia hanya dengan kebijakan pembaruanSQL Server 2025 atau Always-up-to-date.
- Fungsi ekspresi reguler T-SQL tersedia di Azure SQL Database, SQL database di Fabric, dan mulai di SQL Server 2025.
- Fungsi ekspresi reguler T-SQL tidak tersedia di SQL Server 2022 atau versi sebelumnya.
- Fungsi skalar ekspresi reguler T-SQL tersedia sebagai fitur pratinjau di Fabric Data Warehouse. Untuk informasi lebih lanjut, lihat Fungsi ekspresi reguler di Fabric Data Warehouse. Fungsi bernilai tabel ekspresi reguler T-SQL tidak tersedia di Fabric Data Warehouse.
Examples
Ganti semua kemunculan a atau e dengan X dalam nama produk.
SELECT REGEXP_REPLACE(PRODUCT_NAME, '[ae]', 'X', 1, 0, 'i')
FROM PRODUCTS;
Ganti kemunculan pertama cat atau dog dengan pet dalam deskripsi produk
SELECT REGEXP_REPLACE(PRODUCT_DESCRIPTION, 'cat|dog', 'pet', 1, 1, 'i')
FROM PRODUCTS;
Ganti empat digit terakhir nomor telepon dengan tanda bintang
SELECT REGEXP_REPLACE(PHONE_NUMBER, '\d{4}$', '****')
FROM CUSTOMERS;
Konten terkait
- Fungsi ekspresi reguler