Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL untuk diganti dengan wildcard

Pembaruan:MySQL 8.0 memiliki fungsi REGEX_REPLACE() .

Di bawah ini adalah jawaban saya dari tahun 2014, yang masih berlaku untuk semua versi MySQL sebelum 8.0:

REPLACE() tidak memiliki dukungan untuk wildcard, pola, ekspresi reguler, dll. REPLACE() hanya menggantikan satu string konstan untuk string konstan lainnya.

Anda dapat mencoba sesuatu yang rumit, untuk memilih bagian awal dari string dan bagian akhir dari string:

UPDATE table
SET Configuration = CONCAT(
      SUBSTR(Configuration, 1, LOCATE('<tag>', Configuration)+4),
      NEW_DATA,
      SUBSTR(Configuration, LOCATE('</tag>', Configuration)
    )

Tetapi ini tidak berfungsi untuk kasus ketika Anda memiliki beberapa kemunculan <tag> .

Anda mungkin harus mengambil kembali baris tersebut ke dalam aplikasi, melakukan penggantian string menggunakan bahasa favorit Anda, dan memposting kembali baris tersebut. Dengan kata lain, proses tiga langkah untuk setiap baris.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menampilkan beberapa kolom bertumpuk untuk setiap rentang tanggal di Bar bertumpuk?

  2. PHP Coba dan Tangkap untuk SQL Insert

  3. mysql_real_escape_string dan array_map mengembalikan string kosong?

  4. Setelah pembaruan Windows 10 1803, program saya tidak dapat membuka soket saat dijalankan dari jaringan berbagi

  5. Bagaimana cara menentukan apakah menggunakan SSL dalam Koneksi MySql?