我得到了一个表,其中包含以下值
titles:
Accountant
Auditor
Bookkeper
Forensic Accountant
Tax Accountant我想选择所有不包含“会计”的职位,我目前正在尝试
SELECT * FROM careers WHERE title NOT REGEXP '^Accountant'但它仍然选择“法务会计”和“税务会计”。
有什么想法吗?
提前感谢!
发布于 2017-03-23 21:08:49
使用not like而不是regexp:
SELECT * FROM careers WHERE title NOT LIKE '%Accountant%'请参阅SQLFiddle
发布于 2017-03-23 21:09:11
正则表达式是错误的,您使用的是插入符号(^),这意味着您要排除的单词应该以Accountant开头,而不是删除插入符号,您应该是正确的
SELECT * FROM careers WHERE title NOT REGEXP 'Accountant'要根据选择的jobtitle排除用户定义的内容,请执行类似以下操作
SELECT * FROM careers WHERE title NOT REGEXP (SELECT regexMatch FROM careers WHERE title = "Tax Accountant")发布于 2017-03-23 21:14:20
您可以使用LIKE代替REGEXP,如下所示:
SELECT * FROM careers WHERE title NOT LIKE '%Accountant%';https://stackoverflow.com/questions/42976933
复制相似问题