SQL - Поиск подстрок в строке, удовлетворяющих условию

Задача такая. Есть таблица с колонкой, в которой хранятся строки. Например, 2 записи в таблице:

  • значение в колонке у первой записи: "<!test><!innertest>car</!innertest></!test><!test><!innersupertest>car2</!innersupertest></!test>"
  • значение в колонке у второй записи: "<!test><!innersupertest>car1</!innersupertest></!test>"

Нужен запрос, который для каждой записи в таблице будет проверять данную колонку на существование подстрок "<!test>...</!test>", в которых не существет подстроки "<!innersupertest>...</!innersupertest>". То есть для первой записи мы получим 2 подстроки "<!test>...</!test>":

  • <!test><!innertest>car</!innertest></!test>
  • <!test><!innersupertest>car2</!innersupertest></!test>

Из них нам подойдет 1-я, потому что там нет "<!innersupertest>...</!innersupertest>". Значит, первая запись в таблице подошла.

Для второй записи мы получим 1 подстроку "<!test>...</!test>":

  • <!test><!innersupertest>car1</!innersupertest></!test>

В ней есть подстрока "<!innersupertest>...</!innersupertest>", значит вся запись не подходит.

Я пытаюсь понять, можно ли это сделать с помощью регулярных выражений, но пока не получилось. За помощь буду очень благодарен.


Ответы (0 шт):