mysql - 反向MySql LIKE?
问题描述
我有一个名为“标题”的列,其中包含以下值:
1) 哈利波特
2) 哈利
3) 哈利·波
4) 马里奥波特
5) 汉里绘图仪
如果我进行如下搜索:
SELECT * FROM books WHERE titles LIKE 'Harry Potter%'
我只得到“哈利波特”的第一排,这没关系。但是我怎么能得到第 2 行和第 3 行的结果,因为它们与搜索字符串“哈利波特”匹配(哈利波特包含哈利,哈利波特包含哈利波特)。但不是“哈利波特” 不包含“马里奥波特”
我正在寻找类似的函数:如果 search_string 包含 ROW
谢谢
解决方案
LIKE
与被通配符包围的列一起使用:
SELECT *
FROM books
WHERE 'Harry Potter' LIKE CONCAT('%', titles, '%')
如果您长期需要此类搜索,您可能需要考虑使用 MySQL 的全文搜索功能。
推荐阅读
- php - 以下哪项最适合内存使用?
- c# - Xamarin Forms Xaml 转换器:可绑定属性
- ios - 在我的 iOS 应用程序中与我的外部附件通信以播放流中的视频
- database - 实现表获取所有记录在 Cassandra 数据库中具有多个标签
- c++ - c ++:if语句无法正常运行并进入无效输出
- elasticsearch - Elasticsearch快照IN_PROGRESS很长时间,删除快照也不起作用
- qtp - 执行脚本 UFT 工具时无法单击单选按钮
- javascript - 正确更新反应状态/组件?
- r - RQuantlib - 负利率的固定利率债券
- php - 如何通过行号从 CSV 文件中删除特定行?