phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

SQL заявка за замяна на низ въз основа на заместващ знак

В MySQL версия 8.0 и по-нова, можете да използвате REGEX_REPLACE() функция. В отсъствие на същото , могат да се извършват някои сложни операции с низове. Това се основава на вашия потвърждение , че споменатият подниз се среща само веднъж в стойност.

REPLACE() няма никаква поддръжка за заместващи знаци, шаблони, регулярни изрази и т.н. Той само замества даден фиксиран подниз с друг фиксиран подниз, в по-голям низ.

Вместо това можем да опитаме да извлечем части от post_content . Ще извлечем водещия подниз преди '

Substring_Index() функция. По същия начин ще извлечем крайния подниз след '">

' порция.

Сега можем просто Concat() тези части, за да получите необходимия post_content . Можете да намерите подробности за различни функции на низ, използвани тук:https://dev.mysql.com/doc/refman/8.0/en/string-functions.html

Добавих и WHERE условие, така че да избираме само онези редове, които отговарят на дадените ни критерии за подниз.

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

Запитване №1:Данни преди операции за актуализиране

SELECT * FROM wp_posts;

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

Заявка №2:Данни след операции по актуализиране

SELECT * FROM wp_posts;

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

Преглед на DB Fiddle




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Най-добрата LAMP среда за Mac

  2. Грешка при мигриране на база данни на Wordpress към сървър SQL

  3. Prestashop пренасочва към стария домейн, след като го промени в базата данни

  4. Искате да възстановите данните във форма за контакт 7, wordpress

  5. MySQL:Достъпът е отказан за потребител 'userName'@'localhost'