是否有一种方法从MySQL LIKE查询返回匹配的完整子字符串。我的意思是
SELECT `title` FROM `search_index` WHERE (`title` LIKE '%inno%')
返回一堆匹配的记录。
,标题应该是Innovative Technology
而提取的标题只是返回Innovative
匹配?
MySQL的LIKE操作符并不适合检测字符串中的确切单个单词。但是支持正则表达式的REGEXP可以处理这个问题。考虑下面的查询:
SELECT title FROM search_index WHERE title REGEXP '[[:<:]]inno[[:>:]]';
您可以使用正则表达式:
select regexp_substr('Innovative Technology', '[a-zA-Z]*inno[a-zA-Z]*')