SQL语句“%[^ 0-9]%”无效

时间:2013-06-05 22:50:05

标签: mysql mysql-workbench

我有一张桌子。

USER TABLE Columns:
    user_name (varchar)
    age       (int)
    address   (varchar)
    telephone (varchar)

我想搜索地址字段包含数字的用户。

我在MySQL Workbench中尝试了以下sql语句:

SELECT * FROM user WHERE address LIKE '%[^0-9]%';

然而,它没有用。任何人都可以帮助我吗?

提前致谢。

4 个答案:

答案 0 :(得分:2)

我相信你正在寻找REGEXP

SELECT   *
FROM     user
WHERE    address REGEXP '.*[^0-9].*'

Example查找没有数字的地址

答案 1 :(得分:1)

您应该从括号中删除^字符:

LIKE '%[0-9]%'

它不想成为正则表达式,它是[charlist]通配符

答案 2 :(得分:0)

'%[^0-9]%'

将搜索%[^0-9]%作为文字的列

它不会对它进行正则表达式

尝试

'.[^0-9].'   // That performs regex

答案 3 :(得分:0)

select * from user where first_name REGEXP '^[0-9].*'

这将为您提供用户表中所有记录,其中第一个名称以数字0-9开头。