模糊查询中Like的使用

通配符:

  %、 _

 %:表示任意个或多个字符。可匹配任意类型和长度的字符

 

 _:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)

demo:

//username中以“晓”字结尾的名字
select * from user where username like '%晓'; 
//username中以“晓”字开头的名字
select * from user where username like '晓%'; 
//username中包含“晓”字的名字
select * from user where username like '%晓%';
//username中既包含“晓”又包含“如”的名字
select * from user where username like '%晓%' and username like '%如%' 

注意:%位置代表的任意个字符
如果有字数限制,我们可以用"_","_"代表的是单个字符

//username中以“晓”字结尾并且是两个字的名字
select * from user where username like '_晓'; 
//username中以“晓”字开头并且是两个字的名字
select * from user where username like '晓_'; 
//username中包含“晓”字并且是三个字的名字
select * from user where username like '_晓_';


在以某个字符开头和结尾查询时也可以用"*"

//username中以“晓”字结尾的名字
select * from user where username like '*晓'; 
//username中以“晓”字开头的名字
select * from user where username like '晓*';

//查询name字段中含有数字的。
select * from table1 where name like '%[0-9]%'
//查询name字段中含有小写字母的。
select * from table1 where name like '%[a-z]%'
//查询name字段中不含有数字的。
select * from table1 where name like '%[!0-9]%'

 

说了一大堆查询语句,like匹配的都是一些常量,如果匹配的是我们传进去的一个变量,怎么办那……往下瞅,哈哈
使用concat函数(把参数转化成字符串):

select * from t_user where passWord like concat('%',@passWord,'%')

 

 



作者:吴晓如
来源:CSDN
原文:https://blog.csdn.net/wxr15732623310/article/details/53447035

posted @ 2019-02-15 11:31  南北12345678  阅读(9206)  评论(1编辑  收藏  举报