MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

2 Cara Mengganti Substring di MariaDB

Jika Anda perlu mengganti substring dengan string lain di MariaDB, berikut adalah dua pendekatan yang dapat Anda gunakan.

REPLACE() Fungsi

Di MariaDB, REPLACE() fungsi dirancang khusus untuk menggantikan substring dalam string lain.

Anda memberikan tiga argumen saat memanggil fungsi. Ini adalah string, substring, dan string pengganti.

Contoh:

SELECT REPLACE('My dog likes to dig holes', 'dog', 'cat');

Hasil:

+----------------------------------------------------+
| REPLACE('My dog likes to dig holes', 'dog', 'cat') |
+----------------------------------------------------+
| My cat likes to dig holes                          |
+----------------------------------------------------+

Dalam hal ini kami mengganti substring dog dengan cat .

Jika string yang akan diganti terjadi beberapa kali dalam string, semua kemunculan akan diganti:

SELECT REPLACE('Black dogs and white dogs', 'dog', 'cat');

Hasil:

+----------------------------------------------------+
| REPLACE('Black dogs and white dogs', 'dog', 'cat') |
+----------------------------------------------------+
| Black cats and white cats                          |
+----------------------------------------------------+

REPLACE() fungsi melakukan kecocokan peka huruf besar-kecil.

Lihat Bagaimana REPLACE() Bekerja di MariaDB untuk lebih banyak contoh.

The REGEXP_REPLACE() Fungsi

REGEXP_REPLACE() fungsinya mirip dengan REPLACE() fungsi, kecuali itu memungkinkan Anda untuk melakukan pencocokan pola menggunakan ekspresi reguler.

Ini membuat REGEXP_REPLACE() lebih kuat dari REPLACE() , karena Anda dapat mencocokkan dengan bagian string untuk mengganti substring yang akan lebih sulit atau tidak mungkin untuk dicocokkan jika hanya menggunakan REPLACE() .

Contoh:

SELECT REGEXP_REPLACE('My cat has cuts', 'c.t', 'dog');

Hasil:

+-------------------------------------------------+
| REGEXP_REPLACE('My cat has cuts', 'c.t', 'dog') |
+-------------------------------------------------+
| My dog has dogs                                 |
+-------------------------------------------------+

Ekspresi reguler bisa sangat kuat, dan contoh ini menggunakan contoh yang sangat sederhana. Untuk menggunakan REGEXP_REPLACE() secara efektif, Anda harus mengetahui pola yang benar untuk digunakan untuk hasil yang diinginkan.

Anda juga dapat menyediakan string literal lengkap sebagai pola, seperti yang Anda gunakan dengan REPLACE() fungsi.

Oleh karena itu, kita dapat menulis ulang contoh pertama pada halaman ini untuk menggunakan REGEXP_REPLACE() bukannya REPLACE() .

Berikut adalah contoh yang menjalankannya berdampingan untuk mengilustrasikan apa yang saya maksud:

SELECT 
    REPLACE('My dog likes to dig holes', 'dog', 'cat') AS "REPLACE()",
    REGEXP_REPLACE('My dog likes to dig holes', 'dog', 'cat') AS "REGEXP_REPLACE()";

Hasil:

+---------------------------+---------------------------+
| REPLACE()                 | REGEXP_REPLACE()          |
+---------------------------+---------------------------+
| My cat likes to dig holes | My cat likes to dig holes |
+---------------------------+---------------------------+

Juga, REGEXP_REPLACE() fungsi mengikuti aturan sensitivitas huruf dari susunan yang efektif. Pencocokan dilakukan secara case insensitive untuk collation case insensitive, dan case sensitive untuk collation case sensitive dan untuk data biner. Namun, sensitivitas kasus susunan dapat diganti menggunakan (?i ) dan (?-i ) Bendera PCRE.

Lihat Bagaimana REGEXP_REPLACE() Bekerja di MariaDB untuk contoh sensitivitas huruf besar dan banyak lagi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mencapai Kepatuhan PCI untuk MySQL &MariaDB dengan ClusterControl - Pemutaran Ulang

  2. Memindahkan Database MariaDB ke Status Terenkripsi dan Tidak Terenkripsi

  3. Cara Mencadangkan Basis Data MariaDB Moodle Anda

  4. MariaDB KECUALI Operator Dijelaskan

  5. Pertimbangan Keamanan untuk Penerapan MariaDB di Lingkungan Cloud Hibrida