mysql RLIKE REGEXP正则匹配

like 匹配

常用通配符:% 、_ 、escape

 % : 匹配0个或任意多个字符
 ?
 _ : 匹配任意一个字符
 ?
 escape : 转义字符,可匹配%和_。如SELECT * FROM table_name WHERE column_name LIKE /%/_%_ ESCAPE/

 

RLIKE REGEXP正则匹配

常用通配符:. 、* 、 [] 、 ^ 、 $ 、{n}

 . : 匹配任意单个字符
 * : 匹配0个或多个前一个得到的字符
 [] : 匹配任意一个[]内的字符,[ab]*可匹配空串、a、b、或者由任意个a和b组成的字符串。
 ^ : 匹配开头,如^s匹配以s或者S开头的字符串。
 $ : 匹配结尾,如s$匹配以s结尾的字符串。
 {n} : 匹配前一个字符反复n次。

 

注意:

  1. 在MySQL中,like、rlike和regexp都不区分大小写,如果需要区分,可以在WHERE后添加关键字段binary

  2. like是完全匹配。rlike和regexp是不完全匹配,只要不同时匹配^和 $, 其他的包含即可。如 ^ba可以匹配baaa和baab,a也可以匹配baaa和baab,但是^bab$不能匹配baab。

语法

 
str rlike re表达式
 比如:
 SELECT Tweet REGEXP ^Tw.*t$;
 SELECT 
   Twet REGEXP ^Tw.t$ AS Twet,
   Twit REGEXP ^Tw.t$ AS Twit,
   Twt REGEXP ^Tw.t$ AS Twt,
   Tw.t REGEXP ^Tw.t$ AS Tw.t;
 +------+------+-----+------+
 | Twet | Twit | Twt | Tw.t |
 +------+------+-----+------+
 |    1 |    1 |   0 |    1 |
 +------+------+-----+------+

 

mysql RLIKE REGEXP正则匹配

上一篇:服务监控-zabbix监控指标


下一篇:数据库多表查询练习