Gantikan String dalam SQL

Gantikan String Dalam Sql



Data teks atau rentetan, seperti yang dipanggil oleh pembangun, adalah blok bangunan utama untuk sebarang program berfungsi. Ini tidak berbeza apabila ia datang untuk menyimpan data. Hampir semua pangkalan data mengandungi beberapa bentuk maklumat teks seperti nama, log, dll.

Oleh itu, manipulasi rentetan ialah tugas biasa yang melibatkan memanipulasi dan mengubah nilai rentetan kepada format tertentu.

Salah satu fungsi paling berkuasa dalam SQL yang berkaitan dengan operasi rentetan ialah fungsi REGEXP_REPLACE(). Fungsi ini membolehkan kami melakukan carian berasaskan ungkapan biasa dan menggantikan. Jika anda biasa dengan ungkapan biasa, anda tahu betapa hebatnya fungsi ini.







Dalam tutorial ini, kita akan belajar bagaimana kita boleh menggunakan fungsi ini untuk mencari dan menggantikan rentetan dalam pangkalan data SQL.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() ialah fungsi yang membolehkan kami melaksanakan padanan dan penggantian corak berasaskan ungkapan biasa dalam rentetan tertentu.



Ungkapan biasa atau regex ialah corak set dan ruang letak yang membolehkan kami memadankan dan memanipulasi rentetan atau subrentetan yang mengikut corak tertentu.





Adalah baik untuk diingat bahawa setiap enjin pangkalan data mungkin melaksanakan sedikit sintaks dan fungsi fungsi tersebut.

Walau bagaimanapun, kita boleh menyatakan sintaksnya seperti berikut:



REGEXP_REPLACE(rentetan_masukan, corak, penggantian [, bendera])

Parameter fungsi adalah seperti yang dinyatakan seperti berikut:

  1. input_string - Ini menentukan rentetan di mana kami ingin mencari dan menggantikannya.
  2. Corak - Ini menentukan corak ungkapan biasa yang kita mahu padankan dalam rentetan input.
  3. Penggantian - Ini menentukan rentetan yang menggantikan subrentetan yang dipadankan.
  4. Bendera – Satu set bendera pilihan yang boleh membantu mengubah suai kefungsian ungkapan biasa. Sebagai contoh, kami boleh mendayakan carian global, padanan tidak sensitif huruf besar-besaran, dsb. Ciri ini berbeza-beza bergantung pada enjin pangkalan data.

Contoh:

Untuk lebih memahami cara fungsi ini berfungsi, mari kita lihat beberapa contoh tentang cara menggunakannya.

Contoh 1: Penggunaan Asas

Katakan kita mempunyai jadual yang mengandungi maklumat pekerja seperti yang ditunjukkan dalam contoh output berikut:

Pertimbangkan kes di mana kita mahu menggantikan kejadian rentetan 'Charlie' kepada 'Matthew'. Kita boleh menggunakan pertanyaan seperti berikut:

PILIH

REGEXP_REPLACE(first_name, 'Charlie', 'Matthew') AS new_name

DARI

pekerja;

Contoh yang diberikan menunjukkan carian asas dan ganti untuk mencari rentetan 'Charlie' daripada lajur 'first_name' dan gantikannya dengan 'Matthew'.

Pengeluaran:

Contoh 2: Penggantian Case Insensitive

Dalam sesetengah kes, anda mungkin mahu melakukan carian yang tidak peka huruf besar-besaran. Ini bermakna fungsi itu hanya akan melihat kandungan rentetan dan bukan selongsong sebenar huruf alfanumerik.

Dalam kes sedemikian, kami menggunakan 'i' sebagai bendera fungsi seperti berikut:

PILIH REGEXP_REPLACE(product_description, Samsung, Apple, 'i') AS diubah suai

DARI produk;

Dengan menetapkan bendera kepada 'i', fungsi ini sepadan dengan semua perkataan yang sepadan dengan 'Samsung', tanpa mengira sarungnya.

Kesimpulan

Dalam contoh ini, kami meneroka cara menggunakan dan berfungsi dengan fungsi REGEXP_REPLACE() untuk melakukan carian dan penggantian berasaskan corak ungkapan biasa.