Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да комбинирате regex + UPDATE в MySQL, за да добавите интервал към FirstnameLastname

Първо, съпоставянето на шаблони с REGEXP е независимо от главните букви. Така че трябва да използвате BINARY.

Не съм сигурен дали има по-добър начин да направите това в MySQL, но това е един. Изпълнете следните заявки за всяка от азбуката от A до Z. Дадох заявките за A, B, C, D, E, Y и Z. Моля, копирайте за всички останали азбуки. След като завършите изпълнението на всички, ще имате интервал между собственото и фамилното име

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]';

Моля, обърнете внимание на използването на BINARY в горните примери за заявки.

Друг начин може да бъде да напишете PHP скрипт за четене на всички post_title и след това използвайте мощни функции за регулярни изрази на PHP, за да добавите интервали и да ги актуализирате обратно в базата данни.

Надявам се това да помогне!

РЕДАКТИРАНЕ :О! Забравих, че базата данни също има записи с интервали и те трябва да бъдат игнорирани. Моля, вместо това използвайте тази заявка:

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. В PHP с PDO, как да проверя окончателната SQL параметризирана заявка?

  2. Използване на променливи като OFFSET в операторите SELECT в съхранените функции на mysql

  3. Разгръщане на MySQL Server + DB с .Net приложение

  4. наличност на хотелска стая в mysql

  5. Изчисляване на разстоянието между пощенските кодове в PHP