phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

Permintaan SQL untuk mengganti string berdasarkan wildcardt

Di MySQL versi 8.0 dan yang lebih baru, Anda dapat menggunakan REGEX_REPLACE() fungsi. Dalam tidak adanya sama , beberapa operasi string yang rumit dapat dilakukan. Ini didasarkan pada konfirmasi , bahwa sub-string tersebut hanya muncul sekali dalam suatu nilai.

REPLACE() tidak memiliki dukungan untuk wildcard, pola, ekspresi reguler, dll. Ini hanya menggantikan perbaikan yang diberikan substring dengan tetap another lainnya substring, dalam string yang lebih besar.

Sebagai gantinya, kita dapat mencoba mengekstrak bagian dari post_content . Kami akan mengekstrak substring utama sebelum '<p><span id="more-' menggunakan Substring_Index() fungsi. Demikian pula, kami akan mengekstrak substring tambahan setelah '"></span></p>' bagian.

Sekarang, kita cukup Concat() bagian ini untuk mendapatkan post_content yang diperlukan . Anda dapat menemukan detail berbagai fungsi String yang digunakan di sini:https://dev.mysql.com/doc/refman/8.0/en/string-functions.html

Saya juga telah menambahkan WHERE kondisi, sehingga kami hanya memilih baris yang cocok dengan kriteria substring yang kami berikan.

UPDATE wp_posts 
SET post_content = 
CONCAT( 
       SUBSTRING_INDEX(post_content, 
                       '<p><span id="more-', 
                       1), 
       SUBSTRING(post_content, 
                 LOCATE('"></span></p>', 
                        post_content, 
                        LOCATE('<p><span id="more-',
                               post_content)
                        ) + 13) -- 13 is character length of "></span></p>
      )
WHERE post_content LIKE '%<p><span id="more-%"></span></p>%';

Kueri #1:Data sebelum operasi Pembaruan

SELECT * FROM wp_posts;

| post_content                                            |
| ------------------------------------------------------- |
| adasdaadsa<p><span id="more-35075"></span></p>121324124 |
| 1412123123<p><span id="more-232"></span></p>adasdaafas  |

Kueri #2:Data setelah operasi Pembaruan

SELECT * FROM wp_posts;

| post_content         |
| -------------------- |
| adasdaadsa121324124  |
| 1412123123adasdaafas |

Lihat di DB Fiddle




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Memilih kolom MYSQL secara kondisional

  2. membuat pengguna hanya-baca di phpMyAdmin

  3. Menginstal phpMyAdmin ke instans Amazon EC2

  4. Cara menambah ukuran memori untuk phpmyadmin

  5. Tidak dapat masuk ke server MySQL (PhpMyAdmin)