在MySQL列中正确选择实际的非字母数字字符

时间:2015-01-22 23:08:01

标签: mysql regex

我的MySQL REGEXP SELECT查询有一个奇怪的问题,我试图选择包含非字母数字字符的行。我尝试过多种内容,它会匹配西里尔字符,但它不会将撇号和空格视为非字母数字。以下是我尝试过的查询:

SELECT * FROM `table` WHERE `name` REGEXP '^[^[:alnum:]]+$' LIMIT 0,10;

SELECT * FROM `table` WHERE `name` REGEXP '^[^a-z0-9]+$' LIMIT 0,10;

他们现在都没有返回任何东西因为我已经替换了除了空格和撇号之外的所有西里尔字符。我觉得我必须做错误的事情,因为看起来不合逻辑,以至于MySQL认为空格和撇号是字母数字。

1 个答案:

答案 0 :(得分:3)

你试过了吗?

SELECT * FROM table WHERE name REGEXP "[^a-z0-9]+" LIMIT 0,10;