#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]*')