模糊查询中Like的使用

引言:

    小编最近做了模糊查询的功能,在用mysql语句进行查询时用到了Like关键字,虽然只是一个简单的单词,也是经历了一些小波折,因此把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,'%')

嗒嘀嗒,解决了……


总结:

    越是基础的东西掌握地越不牢,当时都没有想到like关键字,慢慢积累吧!

评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值