我正在尝试使用包含字符串
的一部分的列从表中获取数据表search_data:
id data
1 news
2 today
3 latest
当我使用关键字'news'
时 select * from search_data where data like '%news%'
取得结果。但当我使用关键词'最新新闻'时
select * from search_data where data like '%latest news%'
它没有显示空结果集。
有人可以帮我查询。
感谢。
答案 0 :(得分:1)
您可以添加FULLTEXT
索引,以便使用MATCH AGAINST:
select
*
from
search_data
where
match(data) against ('latest news' IN BOOLEAN MODE)
这将是最有效的方式,您可以阅读更多here
答案 1 :(得分:0)
这是因为你正在寻找带有文本两侧的完整字符串'最新新闻'。您需要执行where data like '%news%' or data like '%latest%'
才能搜索不包含在同一行中的两个关键字
答案 2 :(得分:0)
我不知道你的意思,但我猜你想做点什么 从search_data中选择*,其中数据如'%latest%'或数据如'%news%'
答案 3 :(得分:0)
从search_data中选择*,其中此查询中的'%latest news%'等数据您提及最新消息,这意味着结果必须包含字符串中的“最新新闻”,因为您的数据集中不存在最新消息和新闻分段您可以在查询中使用“或”和“和”运算符