Dengan demikian, manipulasi string adalah tugas umum yang melibatkan manipulasi dan transformasi nilai string ke format tertentu.
Salah satu fungsi paling kuat dalam SQL yang berhubungan dengan operasi string adalah fungsi REGEXP_REPLACE(). Fungsi ini memungkinkan kita melakukan pencarian dan penggantian berbasis ekspresi reguler. Jika Anda familiar dengan ekspresi reguler, Anda pasti tahu betapa hebatnya fungsi ini.
Dalam tutorial ini, kita akan mempelajari bagaimana kita dapat menggunakan fungsi ini untuk mencari dan mengganti string dalam database SQL.
SQL REGEXP_REPLACE
SQL REGEXP_REPLACE() adalah fungsi yang memungkinkan kita melakukan pencocokan dan penggantian pola berbasis ekspresi reguler dalam string tertentu.
Ekspresi reguler atau regex adalah pola himpunan dan placeholder yang memungkinkan kita mencocokkan dan memanipulasi string atau substring yang mengikuti pola tertentu.
Perlu diingat bahwa setiap mesin database mungkin sedikit mengimplementasikan sintaksis dan fungsionalitas fungsinya.
Namun, kita dapat menyatakan sintaksnya sebagai berikut:
REGEXP_REPLACE(input_string, pola, penggantian [, flags])
Parameter fungsinya dinyatakan sebagai berikut:
- input_string – Ini menentukan string yang ingin kita cari dan ganti.
- Pattern – Ini menentukan pola ekspresi reguler yang ingin kita cocokkan dalam string input.
- Penggantian – Ini menentukan string yang menggantikan substring yang cocok.
- Bendera – Satu set bendera opsional yang dapat membantu mengubah fungsionalitas ekspresi reguler. Misalnya, kita dapat mengaktifkan pencarian global, pencocokan peka huruf besar-kecil, dll. Fitur ini bervariasi tergantung pada mesin database.
Contoh:
Untuk lebih memahami cara kerja fungsi ini, mari kita lihat beberapa contoh cara menggunakannya.
Contoh 1: Penggunaan Dasar
Misalkan kita memiliki tabel yang berisi informasi karyawan seperti yang ditunjukkan pada contoh output berikut:
Pertimbangkan kasus di mana kita ingin mengganti kemunculan string “Charlie” menjadi “Matthew”. Kita dapat menggunakan query sebagai berikut:
PILIHREGEXP_REPLACE(nama_depan, 'Charlie', 'Matthew') SEBAGAI nama_baru
DARI
karyawan;
Contoh yang diberikan menunjukkan pencarian dan penggantian dasar untuk menemukan string “Charlie” dari kolom “first_name” dan menggantinya dengan “Matthew”.
Keluaran:
Contoh 2: Penggantian Tidak Peka Huruf Besar-kecil
Dalam beberapa kasus, Anda mungkin ingin melakukan pencarian yang tidak peka huruf besar-kecil. Artinya, fungsi tersebut hanya akan melihat konten string dan bukan huruf alfanumerik yang sebenarnya.
Dalam kasus seperti ini, kita menggunakan “i” sebagai flag fungsi sebagai berikut:
PILIH REGEXP_REPLACE(product_description, Samsung, Apple, 'i') SEBAGAI diubahDARI produk;
Dengan menyetel bendera ke “i”, fungsinya akan mencocokkan semua kata yang cocok dengan “Samsung”, apa pun huruf besarnya.
Kesimpulan
Dalam contoh ini, kita mempelajari cara menggunakan dan bekerja dengan fungsi REGEXP_REPLACE() untuk melakukan pencarian dan penggantian berbasis pola ekspresi reguler.