常用通配符:% 、_ 、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次。
注意:
-
在MySQL中,like、rlike和regexp都不區分大小寫,如果需要區分,可以在WHERE后添加關鍵字段binary
-
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 | +------+------+-----+------+