sql语言之模糊查询

模糊查询用于将查询条件模糊,匹配符合模糊匹配条件的记录,跟于where字句。还是以前面的学生数学成绩表为例来讲解模糊查询。

我们有StudentScoreInfo表如下:


案例一:我们需要匹配所有王姓学生的记录

代码如下:

select * from StudentScoreInfo where StuName like '王%'

以上语句用于查询出StuName字段第一个字符为“王”后面紧跟0个或者多个任意字符的记录

代码执行结果如下:



案例二:我们需要查询出StuName字段第一个字符为“王”后面紧跟任意字符,然后最后一个字符为“风”的记录信息

select * from StudentScoreInfo where StuName like '王_风'

以上语句中“_”的是匹配任意一个字符

执行上面代码得到的结果集如下:



案例三:我们需要查询出StuName字段中有"''"(单引号)的数据

由于前面我们给的StudentScoreInfo表中的数据没有单引号,我们先加入一条带单引号的数据:

执行代码:insert into StudentScoreInfo (Id,StuName,mathScore) values(12,N'王大''侠',148)

然后我们执行查询语句进行查询:

代码:

select * from StudentScoreInfo where StuName like N'%''%'

执行结果如下:


结论:在SQL语言的字符串中,两个单引号代表一个单引号


案例四:查询出姓王或者姓李的学生的成绩信息

代码:

select * from StudentScoreInfo where StuName like N'[王李]%'

执行获得的结果集如下:



案例五:查询出成绩表中姓名带“[”的数据

首先我们需要加入一条带"["的数据

代码:insert into StudentScoreInfo (Id,StuName,mathScore) values(13,N'周[小',123)

代码:

select * from StudentScoreInfo where StuName like N'%[[]%'

执行得到的结果集如下:



总结:在SQL的模拟匹配字符串中"[]"代表一个字符位,里面框着的是这个字符位要匹配的字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤行者程序之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值