首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL选择查询字符串匹配

MySQL选择查询字符串匹配
EN

Stack Overflow用户
提问于 2011-02-07 05:18:13
回答 3查看 119.6K关注 0票数 35

通常,当使用SELECT查询数据库时,通常希望查找与给定搜索字符串匹配的记录。

例如:

代码语言:javascript
复制
SELECT * FROM customers WHERE name LIKE '%Bob Smith%';

该查询应该会给出“Bob Smith”出现在name字段中任何位置的所有记录。

我想做的是相反的事情。

我不想查找名称字段中包含'Bob Smith‘的所有记录,而是希望查找名称字段位于'Robert Bob Smith III,PhD.’中的所有记录,这是查询的字符串参数。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-07 05:24:27

就像这样转过身来

代码语言:javascript
复制
SELECT * FROM customers
WHERE 'Robert Bob Smith III, PhD.' LIKE CONCAT('%',name,'%')
票数 49
EN

Stack Overflow用户

发布于 2011-02-07 05:25:07

您可以像这样使用正则表达式:

代码语言:javascript
复制
SELECT * FROM pet WHERE name REGEXP 'Bob|Smith'; 
票数 10
EN

Stack Overflow用户

发布于 2016-10-03 00:49:10

不正确:

代码语言:javascript
复制
SELECT * FROM customers WHERE name LIKE '%Bob Smith%';

而是:

代码语言:javascript
复制
select count(*)
from rearp.customers c
where c.name  LIKE '%Bob smith.8%';

select count将仅查询(总计)

C会将db.table链接到您需要它来索引的names行

LIKE应为obvs

8将调用DB8或更低版本中的所有引用(不是真正需要的,但我喜欢整洁)

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

https://stackoverflow.com/questions/4916195

复制
相关文章

相似问题

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