首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配连词

问匹配连词
EN

Stack Overflow用户
提问于 2014-06-11 20:02:51
回答 2查看 40关注 0票数 0

我正在尝试选择在某一列中具有连字符的所有行。到目前为止,这就是我所拥有的:

代码语言:javascript
复制
SELECT * FROM MyTable WHERE list RLIKE '\w-\w'

但它只返回1行,当我知道还有更多。知道为什么吗?

谢谢

代码语言:javascript
复制
| List |
built-in
self-discipline
hang-up
....

编辑:不确定是否重要,但列表是utf8_unicode_ci

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-11 20:11:35

MySQL正则表达式不支持\w (或字符类的任何其他转义序列)。你必须写:

代码语言:javascript
复制
SELECT * FROM MyTable WHERE list RLIKE '[[:alnum:]_]-[[:alnum:]_]'

有关文档正则表达式的详细信息,请参阅MySQL。

票数 2
EN

Stack Overflow用户

发布于 2014-06-11 20:13:24

如果您想尝试在没有正则表达式的情况下使用它,那么尝试通配符。不确定你是否能使用它,但这也应该有效。

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

https://stackoverflow.com/questions/24171594

复制
相关文章

相似问题

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