MySQL:查询使用正则表达式匹配

MySQL 2019-03-19 已阅 271 次

不区分大小写

1、columnName的值必须由字母组成

SELECT * FROM tableName WHERE columnName REGEXP '^[A-Z]$';
# SELECT * FROM tableName WHERE columnName REGEXP '^[a-z]$';

2、columnName的值必须包含字母

SELECT * FROM tableName WHERE columnName REGEXP '[A-Z]';
# SELECT * FROM tableName WHERE columnName REGEXP '[a-z]';
由于不区分大小写,使用注释中的代码得到和结果也是一样的

区分大小写,使用 BINARY 关键词

1、columnName的值必须以大写字母开头,紧接着全是数字

SELECT * FROM tableName WHERE columnName REGEXP BINARY '^[A-Z]+[0-9]*$';

2、columnName的值必须以小写字母开头

SELECT * FROM tableName WHERE columnName REGEXP BINARY '^[a-z]+[0-9]*$';

本文由 Harvey 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论