模糊查询LINK_和%结果相同?

模糊查询LINK_和%结果相同?

_  % 两个有什么区别

SELECT *FROM imooc WHERE LINK username='_三_';

SELECT *FROM imooc WHERE LINK username='%三%';

结果都是找到有中间名字是三的? 两个有什么区别怎么应用?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

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

例如:

select * from imooc where username like '%huxiao';   
select * from imooc where username like 'huxiao%';   
select * from imooc where username like '%huxiao%';

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

select * from imooc  where username like '_';   
select * from imooc where username like 'huxia_';   
select * from imooc where username like 'h_xiao';

如果解决了您的问题请采纳祝学习愉快!

  • 俺就是兔子 提问者 #1
    非常感谢! 还是不懂结果相同?是否可以用一个代替另一个
    2017-06-15 21:34:15
好帮手慕查理 2017-06-16 10:01:15

您好,您的sql语句中存在语法错误,应为:

SELECT *FROM imooc WHERE username LIKE '%三%';

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

例如:你的数据库中存在一个username字段,数据为张三,张三王五,张三李。

使用

SELECT *FROM imooc WHERE username LIKE '_三_';

查询时可查到张三李。

使用

SELECT *FROM imooc WHERE username LIKE '%三%';

查询时可查到张三,张三王五,张三李。

您查询时结果相同,是因为您的数据都是三个字符,所以出现查询结果相同,您可以将数据库中的数据多插入几条,在进行测试。

当查询的字符为单个时,可以代替使用,但是严格来说他们有各自的作用,建议您具体情况具体分析,掌握两种使用方法。

如果解决了您的问题,请采纳,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师