4

我有一张桌子。

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

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

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

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

但是,它没有用。有谁可以帮我离开这里吗?

提前致谢。

4

4 回答 4

3

我相信您正在寻找REGEXP

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

查找没有数字的地址的示例

于 2013-06-05T22:53:38.357 回答
3

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

LIKE '%[0-9]%'

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

于 2013-06-05T22:54:18.817 回答
1
select * from user where first_name REGEXP '^[0-9].*'

这将为您提供用户表中名字以数字 0-9 开头的所有记录。

于 2017-04-10T15:35:07.253 回答
0
'%[^0-9]%'

将搜索具有%[^0-9]%文本的列

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

尝试

'.[^0-9].'   // That performs regex
于 2013-06-05T22:54:06.060 回答