首页新闻找找看学习计划

sql 模糊查询

0
[已解决问题] 解决于 2018-01-12 11:44

select * from student where tsname like'张[^0-9]_'
这个的意思是一共有3个字 且以姓张开头第二个字不能为数字?

问题补充:

这段代码执行出来是什么 请详细解释一下 谢谢

一切至于创新的主页 一切至于创新 | 初学一级 | 园豆:127
提问于:2017-10-04 23:24
< >
分享
最佳答案
0

[^0-9] 匹配不在0-9范围内的任何字符。

奖励园豆:5
ycyzharry | 专家六级 |园豆:18805 | 2017-10-05 00:55
其他回答(4)
0

SQL也能用正则表达式?

木木卡卡西 | 园豆:208 (菜鸟二级) | 2017-10-05 09:55
0

查询所有姓张的人并且名字里第二个字不能是0-9之间的数字第三个字没有限制

那年夏天的啄木鸟 | 园豆:274 (菜鸟二级) | 2017-10-05 14:13

不对吧,把SQL语句改成mysql写法:select * from student where Name REGEXP '张[^0-9]_';

过滤掉了张3疯 ,但是不能匹配张三_

支持(0) 反对(0) cheerupWoo | 园豆:194 (初学一级) | 2017-10-05 21:50
0

^符号有两种使用方法,当^放在集合中时,表示不能取集合中的所有元素。当^不放在集合中时,表示以某某开头。

把你的SQL语句改成mysql写法:select * from student where Name REGEXP '张[^0-9]_';

过滤掉了张3疯 ,但是不能匹配张三_

 

 

cheerupWoo | 园豆:194 (初学一级) | 2017-10-05 21:49
0

好厉害.sql的like里可以写正则的...第一次知道

吴瑞祥 | 园豆:28731 (高人七级) | 2017-10-06 22:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册