首页 > 解决方案 > 反向MySql LIKE?

问题描述

我有一个名为“标题”的列,其中包含以下值:

1) 哈利波特

2) 哈利

3) 哈利·波

4) 马里奥波特

5) 汉里绘图仪

如果我进行如下搜索:

SELECT * FROM books WHERE titles LIKE 'Harry Potter%'

我只得到“哈利波特”的第一排,这没关系。但是我怎么能得到第 2 行和第 3 行的结果,因为它们与搜索字符串“哈利波特”匹配(哈利波特包含哈利,哈利波特包含哈利波特)。但不是“哈利波特” 不包含“马里奥波特”

我正在寻找类似的函数:如果 search_string 包含 ROW

谢谢

标签: mysql

解决方案


LIKE与被通配符包围的列一起使用:

SELECT *
FROM books
WHERE 'Harry Potter' LIKE CONCAT('%', titles, '%')

如果您长期需要此类搜索,您可能需要考虑使用 MySQL 的全文搜索功能。


推荐阅读