首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LIKE将字符串与包含多个单词的字符串进行匹配

使用LIKE将字符串与包含多个单词的字符串进行匹配
EN

Stack Overflow用户
提问于 2010-11-04 09:42:13
回答 5查看 549关注 0票数 2

在mysql中,我有一个WHERE子句,它使用LIKE将关键字与字符串进行匹配。

代码语言:javascript
复制
WHERE title LIKE CONCAT('%',?,'%')

这几乎可以工作,但我遇到了一个问题,有多个单词的标题返回错误的匹配。例如,关键字"press“将与标题”抑郁糟糕“相匹配--这是不应该发生的。

确保关键字仅在单词开头时才匹配的最佳方法是什么?

(提前)感谢你的帮助

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-04 09:51:04

单词边界标记[[:<:]][[:>:]]是你的朋友。

代码语言:javascript
复制
mysql> SELECT 'a word a' REGEXP '[[:<:]]word[[:>:]]';   -> 1
mysql> SELECT 'a xword a' REGEXP '[[:<:]]word[[:>:]]';  -> 0
票数 4
EN

Stack Overflow用户

发布于 2010-11-04 09:44:33

代码语言:javascript
复制
WHERE title LIKE CAT(?, ' %')

%是通配符,所以如果您在前面和后面都有它,它将查找任何包含?的内容。如果删除第一个%,它将是以?开头的任何内容

票数 1
EN

Stack Overflow用户

发布于 2010-11-04 09:49:32

我想你要找的是MATCH而不是LIKE。有了适当的索引,MATCH的速度也快得多。

下面是一些基础知识:http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4093207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档