我正在尝试选择在某一列中具有连字符的所有行。到目前为止,这就是我所拥有的:
SELECT * FROM MyTable WHERE list RLIKE '\w-\w'但它只返回1行,当我知道还有更多。知道为什么吗?
谢谢
| List |
built-in
self-discipline
hang-up
....编辑:不确定是否重要,但列表是utf8_unicode_ci
发布于 2014-06-11 20:11:35
MySQL正则表达式不支持\w (或字符类的任何其他转义序列)。你必须写:
SELECT * FROM MyTable WHERE list RLIKE '[[:alnum:]_]-[[:alnum:]_]'有关文档正则表达式的详细信息,请参阅MySQL。
发布于 2014-06-11 20:13:24
如果您想尝试在没有正则表达式的情况下使用它,那么尝试通配符。不确定你是否能使用它,但这也应该有效。
SELECT * FROM MyTable WHERE list LIKE '%-%'https://stackoverflow.com/questions/24171594
复制相似问题