Запрос тегов , вложенных в тег

#mysql #sql

Вопрос:

Как я могу найти в своей базе данных MariaDB

теги, которые используются в теге?

Я пытался

WHERE content LIKE %<table>*<p>*</table>%

и множество других комбинаций, НО не работает.

Пример Кода

 <table>
<tr>
<td><p>Hello</p></td>
<td><p>Hello1</p></td>
<td><p>Hello2</p></td>
</tr>
</table>
 

Пожалуйста, помогите

Комментарии:

1. Пожалуйста, предоставьте примерные данные и желаемые результаты.

2. Хорошо ли сформирован ваш HTML (например, нет отсутствующих конечных тегов)?

3. @GordonLinoff У меня есть дополнительный пример кода в наших вопросах, пожалуйста, проверьте

Ответ №1:

Вы можете добавить еще % и LIKE для запроса подстановочных знаков или использовать .* с RLIKE ними .

Смотрите пример с рабочей скрипкой ниже:

Схема (MySQL v8.0)

 CREATE TABLE my_table (
    id int auto_increment primary key,
    content text
);

insert into my_table(content)
values 
('This is <table><tr><td><p>Amazing </p></td></tr></table> content'),
('This is not <p>Amazing </p> content');
 

Запрос № 1

     SELECT 
        *
    FROM
        my_table
    WHERE 
        content RLIKE '.*<table>.*<p>.*</table>.*';
 
 | id  | content                                                          |
| --- | ---------------------------------------------------------------- |
| 1   | This is <table><tr><td><p>Amazing </p></td></tr></table> content |
 

Запрос № 2

     SELECT 
        *
    FROM
        my_table
    WHERE 
        content LIKE '%<table>%<p>%</table>%';
 
 | id  | content                                                          |
| --- | ---------------------------------------------------------------- |
| 1   | This is <table><tr><td><p>Amazing </p></td></tr></table> content |
 

Просмотр на скрипке БД

Дайте мне знать, если это сработает для вас.