MySQL模糊查询
通配符
1.like
% 表示零个或者多个任意字符,例如“s%”表示以s开头的任意字符串,“%s%”表示包含字符s的任意字符
_(下划线) 表示任意单个字符,例如“sm_”表示任何以“sm”开头的长度为3的字符串,支持中文,可以对应任意一个中文字符
匹配字符串中包含“%” 或“_”时,使用转义符。将[%]转为[/%]、[_]转为[/_],
然后再加上[ESCAPE '/']
实例:select username from gg_user where username like '%xiao%';
SELECT * FROM TBL
WHERE COL1 LIKE '%/_%' ESCAPE '/' OR COL2 LIKE '%/_%' ESCAPE '/'
2.正则模式
“.”匹配任何单个的字符。(单字节字符)
一个字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。
“ * ”匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。
正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。
在模式开始处使用“^”或在模式的结尾用“$”。
实例:FROM user WHERE u_name REGEXP ‘^三’;
将会把u_name为 “三脚猫”等等以“三”开头的记录全找出来。

浙公网安备 33010602011771号