首页 新闻 会员 周边 捐助

请问这个模糊查询理解,

0
[已解决问题] 解决于 2019-10-25 16:43

LIKE CONCAT('100','%')

流_braw的主页 流_braw | 初学一级 | 园豆:157
提问于:2019-09-29 10:14
< >
分享
最佳答案
0

concat(a,b) sql语句中一个用来连接字符串的函数。
比如:select concat(name,age) from student; 从student表中查学生的name和age信息合在一起展示。你随便找张表试一下就知道这个函数了,很简单的。
LIKE CONCAT('100','%'),你这个查询条件意思应该是:查询开头是100的字符串,比如:100aaa,100,100xyz等。
你说的组织及下级组织,我理解是,100是组织,100+字符串(比如100abc)是下级组织。

奖励园豆:5
温文尔雅风 | 菜鸟二级 |园豆:207 | 2019-09-30 16:37
其他回答(3)
0

模糊查找:%代表零个或多个字符,_代表一个字符

小小咸鱼YwY | 园豆:3312 (老鸟四级) | 2019-09-29 10:16

只有存在一个%是SQL语句只查看到开头为100,对吗?

支持(0) 反对(0) 流_braw | 园豆:157 (初学一级) | 2019-09-29 10:55

@流_hate: 你这就一个小片段我根本不知道你是啥东西,like都是和where联用,比如你查我感觉你这段写的很奇葩,我也不敢评价,就说了下%和_特殊字符串的意义,假设查a表,100 开的文字

select * from a where 字段名 like ('100%');
支持(0) 反对(0) 小小咸鱼YwY | 园豆:3312 (老鸟四级) | 2019-09-29 11:01

@小小咸鱼YwY: 我只复制了like语句这一块,用这个是来查询组织以及下级组织,老资格的java大神说是这样写的,我就是不理解,所以提出疑问的

支持(0) 反对(0) 流_braw | 园豆:157 (初学一级) | 2019-09-29 11:09

@流_hate: 我写的是原生sql,你只要记住模糊查询里面%代表零个或多个字符,_代表一个字符就可以了,知道点正则呢很容易理解,
`100%你可以想成正则里面的^100.*,%100是.*100$,%100%是100,_就是相当于正则里面的.

支持(0) 反对(0) 小小咸鱼YwY | 园豆:3312 (老鸟四级) | 2019-09-29 11:15
0

防止被攻击

莫等、闲 | 园豆:206 (菜鸟二级) | 2019-09-29 17:19
1

就是 like '100%' 这样理解
如果没有动态这个和攻击没有关系。单纯的写 like @a+'%' 或 like concat(@a,'%') 是一样的效果。

gw2010 | 园豆:1487 (小虾三级) | 2019-09-30 16:10

有差别就是@a可以不一定是字符串类型,可以是数字,但是第一种写法只能是字符串。

支持(0) 反对(1) gw2010 | 园豆:1487 (小虾三级) | 2019-09-30 16:11

like '100%' 会被sql注入

支持(0) 反对(1) 莫等、闲 | 园豆:206 (菜鸟二级) | 2019-12-17 17:21

说得concat就不被注入一样- -!
上面已经说明了,如果是字符串,动态的情况下都可能被注入,同注入没关系。

支持(0) 反对(0) gw2010 | 园豆:1487 (小虾三级) | 2019-12-18 14:50

这居然有反对,再花点时间学习吧!

支持(0) 反对(0) gw2010 | 园豆:1487 (小虾三级) | 2019-12-18 14:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册