MySQL КАК запрос — возвращает только совпадающую подстроку в SELECT

#mysql #select #extract

Вопрос:

Есть ли способ вернуться из MySQL, например, запросить совпадающую полную подстроку. Что я имею в виду

SELECT `title` FROM `search_index` WHERE (`title` LIKE '%inno%') что возвращает кучу совпадающих записей.

и название будет выглядеть так Innovative Technology

чем извлеченный заголовок просто возвращает Innovative совпадение ?

Ответ №1:

Оператор MySQL, подобный оператору, на самом деле не подходит для определения точного одного слова внутри строки. Но РЕГУЛЯРНОЕ выражение, которое поддерживает регулярные выражения, может справиться с этим. Рассмотрим следующий запрос:

 SELECT title FROM search_index WHERE title REGEXP '[[:<:]]inno[[:>:]]';
 

Ответ №2:

Вы могли бы использовать регулярное выражение:

 select regexp_substr('Innovative Technology', '[a-zA-Z]*inno[a-zA-Z]*')