模糊查询--返回的结果不确定
1、mysql
sql 匹配模式
a,使用操作符 LIKE 或者 NOT LIKE
b, % 表示任意数量的任意字符
_ 标识任意单个字符
查询用户名以某个字符开头的用户
查询用户名以字符 'l'开头的用户
l%
select * from user where username like 'l%';
查询用户名包含某个字符的用户
查询用户名包含字符'o' 的用户
%o%
select * from user where username like '%o%';
查询用户名第二个字符为o 的用户
_o%
正则表达式匹配模式
其正则表达式出现在匹配字段的任何位置,其模式就算匹配了
不必在两侧
通配符:
. 匹配任意单个字符
* 匹配0个或多个在它面前的字符
x* 表示匹配任何数量的x字符
[..]匹配中括号的任意字符
[abc] 匹配字符 a b 或 c
[a-z] 匹配的是任何字母
[0-9] 匹配任何数字
[0-9]* 匹配任何数量的数字
^ 表示以某个字符或者字符串开始
^a 表示以字母a 开头
$ 表示以某个字符或字符串结尾
s$ 表示以字母s结尾
使用正则表达式匹配模式使用的操作符
是REGEXP 或者 NOT REGEXP(RLIKE或 NOT RLIKE)
查询用户名以字符 l 开头的用户
SQL匹配模式 l%
正则表达式 ^l
select * from user where username REGEXP '^l';
查询用户名正好是 3个字符的用户
SQL匹配模式 ___
正则模式 ... ------>查询用户名字符大于等于3个
正则模式 ^...$ 开始符和结束符之间只有3个字符
select * from user where username REGEXP '...'