模糊查询总结:
1、%:表示0个或者多个字符。可匹配任意类型和长度的字符。有些情况下是中文的话,请使用两个百分号。
sql语句:select * from user where name like
‘%’ #{name} ‘%’
例如: select * from user where name like ‘%三%’
将会把“张三”,“李三思”,“张猫三”,“三脚猫”等有三的记录查找出来。
如果要查找既有“三”又有“猫”的记录:
select * from user where name like ‘%三%’ and name like ‘%猫%’
将会把“张猫三”,“三脚猫”查找出来。
如果中间没有and 则只能查找出“三脚猫”。
2、_ :表示任意单个字符。常用它来限制表达式的字符长度语句。
select * from user where name like ‘三’
只能查找出“李三思”。三个字中间是“三”的。
select * from user where name like ‘三__’
3、[ ] : 表示括号内所列字符中的一个。指定一个字符、字串、或者范围。要求匹配对象为他们中的任何一个。
select * from user where name like ‘[张李朱]三’
找出的是“张三”,“李三”,“朱三”
如果括号里是(12345、abcdef)可缩写为(“1-5”,“a-f”)
select * from user where name like ‘老[1-9]’
查找出“老1”,“老2”。。。“老9”
4、 [^ ] : 表示不在括号内的单个字符。
select * from user where name like ‘[^张李王]三’
将不会找出“张三”,“李三”,“朱三”
select * from user where name like ‘老[^1-4]’
将从“老5”开始查找。
5、如果要是查找特殊字符,要用“[ ]”括起来。
#和
的区别:(自己总结)‘‘
的
区
别
:
(
自
己
总
结
)
‘
‘
{a}%’ 相当于a=zhuzhu : ‘% zhuzhu %’
” % ” + # {a} ” % ” = ’ % $ {a} ‘