【发布时间】:2013-05-03 13:08:50
【问题描述】:
如果我想在name 字段中搜索所有带有字符串léon 的数据,我会使用这样的查询:
SELECT * FROM `my_table` WHERE `name` REGEXP 'léon'
这个请求没问题。
现在,我需要用字符串léon 或leon 或lèon 检索所有行,所以我尝试了:
SELECT * FROM `my_table` WHERE `name` REGEXP 'l[éeè]on'
此查询不起作用...我没有错误,但没有结果。你有什么想法吗?
【问题讨论】:
-
它适用于我......也许是版本的东西?你在哪个 MySQL 版本上运行?
-
如果我尝试使用 SELECT * FROM
my_tableWHEREnameREGEXP 'lé[o]n',没关系。所以我认为的版本没有问题。 -
在小提琴中似乎不起作用 - sqlfiddle.com/#!2/78eb95/3
-
我在 MySql 5.5 上运行,它运行得非常好。
-
如果您使用 ISO-8859-x 字符集,它应该可以工作,如果您使用的是多字节字符集的 UTF-8,则不是那么多。