Ganti String di SQL

Ganti String Di Sql



Data teks atau string, sebagaimana pengembang menyebutnya, adalah blok bangunan utama untuk program fungsional apa pun. Hal ini tidak berbeda dengan penyimpanan data. Hampir semua database berisi beberapa bentuk informasi teks seperti nama, log, dll.

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:

  1. input_string – Ini menentukan string yang ingin kita cari dan ganti.
  2. Pattern – Ini menentukan pola ekspresi reguler yang ingin kita cocokkan dalam string input.
  3. Penggantian – Ini menentukan string yang menggantikan substring yang cocok.
  4. 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:

PILIH

REGEXP_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 diubah

DARI 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.