模糊查询LINK_和%结果相同?
_ % 两个有什么区别
SELECT *FROM imooc WHERE LINK username='_三_';
SELECT *FROM imooc WHERE LINK username='%三%';
结果都是找到有中间名字是三的? 两个有什么区别怎么应用?
22
收起
正在回答
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';
如果解决了您的问题请采纳祝学习愉快!
好帮手慕查理
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 星