2023-06-20
阅读量:
457
CDA数据分析学习之MySQL中的正则表达式 01 基本字符的匹配
MySQL中的正则表达式
正则表达式的作用是匹配文本,将一个模式(pattern,也即正则表达式)与一个文本串(text)比较,如果text中含有此pattern,则返回1,否则返回0。
可利用此性质在where子句中使用正则表达式获得相应的匹配数据行。
用法: REGEXP '正则表达式'
,表示利用正则表达式进行匹配。
1. 基本字符的匹配
SELECT col_name FROM tbl_name WHERE col_name REGEXP '1000'
分析:上述语句中的REGEXP '1000'
表示匹配正则表达式1000
,如果相应列值内容中含有1000
子串,则返回此数据记录。
SELECT col_name FROM tbl_name WHERE col_name REGEXP '.000'
分析:上述语句中的REGEXP '.000'
表示匹配正则表达式.000
,其中的.
表示匹配任意一个字符,所以如果相应列值内容中含有*000
子串(星号代表任意字符),则返回此数据记录。
LIKE和 REGEXP 重要区别:
LIKE匹配整个串。如果被匹配的文本在列值中出现,LIKE不会找到它,相应的行也不会被返回。即如果LIKE后的匹配串中如果不带有通配符( *,% 或 _ ),则不会返回任何结果。
REGEXP匹配子串。如果被匹配的文本在列值中出现,REGEXP会找到它并将相应的行返回。
现在假如数据库中有表mytable,表中有id号为1000的数据记录,则下列代码会有不同的返回结果:
## 无返回结果 SELECT * FROM mytable WHERE id LIKE '1000'; ##有返回id为1000的数据行 SELECT * FROM mytable WHERE id REGEXP '1000';
注意:正则表达式默认匹配不区分大小写,若要区分大小写,用法为REGEXP BINARY '正则表达式'
,即在关键字REGEXP
后添加BINARY
关键字。






评论(0)


暂无数据
推荐帖子
0条评论
1条评论
0条评论