首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regexp从mysql查询中排除结果

使用regexp从mysql查询中排除结果
EN

Stack Overflow用户
提问于 2017-03-23 21:06:20
回答 3查看 45关注 0票数 0

我得到了一个表,其中包含以下值

代码语言:javascript
复制
titles:
Accountant
Auditor
Bookkeper
Forensic Accountant
Tax Accountant

我想选择所有不包含“会计”的职位,我目前正在尝试

代码语言:javascript
复制
SELECT * FROM careers WHERE title NOT REGEXP '^Accountant'

但它仍然选择“法务会计”和“税务会计”。

有什么想法吗?

提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2017-03-23 21:08:49

使用not like而不是regexp:

代码语言:javascript
复制
SELECT * FROM careers WHERE title NOT LIKE '%Accountant%'

请参阅SQLFiddle

票数 2
EN

Stack Overflow用户

发布于 2017-03-23 21:09:11

正则表达式是错误的,您使用的是插入符号(^),这意味着您要排除的单词应该以Accountant开头,而不是删除插入符号,您应该是正确的

代码语言:javascript
复制
SELECT * FROM careers WHERE title NOT REGEXP 'Accountant'

要根据选择的jobtitle排除用户定义的内容,请执行类似以下操作

代码语言:javascript
复制
SELECT * FROM careers WHERE title NOT REGEXP (SELECT regexMatch FROM careers WHERE title = "Tax Accountant")
票数 0
EN

Stack Overflow用户

发布于 2017-03-23 21:14:20

您可以使用LIKE代替REGEXP,如下所示:

代码语言:javascript
复制
SELECT * FROM careers WHERE title NOT LIKE '%Accountant%';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42976933

复制
相关文章

相似问题

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