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

Cara menggabungkan regex + UPDATE di MySQL untuk menambahkan spasi ke FirstnameLastname

Pertama, pencocokan pola menggunakan REGEXP tidak peka huruf besar-kecil. Jadi Anda harus menggunakan BINARY.

Saya tidak yakin apakah ada cara yang lebih baik untuk melakukan ini di MySQL tetapi ini adalah salah satunya. Jalankan kueri berikut untuk setiap alfabet dari A hingga Z. Saya telah memberikan kueri untuk A, B, C, D, E, Y dan Z. Silakan salin untuk semua alfabet lainnya. Setelah Anda selesai menjalankan semuanya, Anda akan memiliki spasi antara nama depan dan belakang

UPDATE `wp_posts` 
SET `post_title` = TRIM(REPLACE(`post_title`, 'A', ' A'))
WHERE `post_title` REGEXP BINARY '[A]';

UPDATE `wp_posts` 
SET `post_title` = TRIM(REPLACE(`post_title`, 'B', ' B'))
WHERE `post_title` REGEXP BINARY '[B]';

UPDATE `wp_posts` 
SET `post_title` = TRIM(REPLACE(`post_title`, 'C', ' C'))
WHERE `post_title` REGEXP BINARY '[C]';

UPDATE `wp_posts` 
SET `post_title` = TRIM(REPLACE(`post_title`, 'D', ' D'))
WHERE `post_title` REGEXP BINARY '[D]';

UPDATE `wp_posts` 
SET `post_title` = TRIM(REPLACE(`post_title`, 'E', ' E'))
WHERE `post_title` REGEXP BINARY '[E]';

...
...

UPDATE `wp_posts` 
SET `post_title` = TRIM(REPLACE(`post_title`, 'Y', ' Y'))
WHERE `post_title` REGEXP BINARY '[Y]';

UPDATE `wp_posts` 
SET `post_title` = TRIM(REPLACE(`post_title`, 'Z', ' Z'))
WHERE `post_title` REGEXP BINARY '[Z]';

Harap perhatikan penggunaan BINARY dalam contoh kueri di atas.

Cara lain mungkin dengan menulis skrip PHP untuk membaca semua post_title lalu gunakan fungsi ekspresi reguler PHP yang kuat untuk menambahkan spasi dan memperbaruinya kembali ke database.

Semoga ini bisa membantu!

EDIT :Oh! Saya lupa bahwa database juga memiliki entri dengan spasi dan harus diabaikan. Silakan gunakan kueri ini sebagai gantinya:

UPDATE `wp_posts` 
SET `post_title` = TRIM(REPLACE(`post_title`, 'A', ' A'))
WHERE `post_title` REGEXP BINARY '[^ ][A]';



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasi MySQL / CodeIgniter pada OpenShift

  2. Strategi untuk memetakan banyak arsip dalam satu tabel ke satu bidang di tabel lain

  3. Tampilkan pesan dalam prosedur tersimpan

  4. MySQL:Jumlahkan nilai dalam subkueri

  5. tabel magento sales_flat_order bidang protect_code penjelasan