一、问题或解决方法应用场景。
使用SQL Server 查询时,经常会使用模糊查询,需要查询包含的指定字符串内容。下面的内容,我简单总结下,like 的常用方式。 (电脑没法发图片,就简单描述+代码了。。。。)
二、示例数据表格式(Student)
| Column Name | Type |
---------------------------------------------
| ID | int |
| Name | varchar |
三、示例数据表(Student)
ID | Name
-----------------------------------
1 | 张三
2 | 张天宝
3 | 李四
4 | 王涛
5 | 刘建宝
6 | 张天利
7 | 诸葛 万三
8 | 李涛
9 | 司马 天万
10 | 万宏
二、具体用法说明
1.%
1> 查询以‘李’开头的学生姓名
SELECT Name
FROM Student
WHERE Name like '李%'
结果:李四, 李涛
2> 查询以‘三’结尾的学生姓名
SELECT Name
FROM Student
WHERE Name like '%三'
结果: 张三,诸葛 万三
3> 查询含‘建’的学生姓名
SELECT Name
FROM Student
WHERE Name like '%建%'
结果: 刘建宝
注释:只要字段里面包含就能查出、
4> 查询姓或者名中首个字符是‘万’的学生姓名(诸葛是姓,万三是名)
SELECT Name
FROM Student
WHERE Name like '万%' or Name like ' 万%' ///(有个空格)
结果:万宏 , 诸葛 万三
5> 查询不含‘建’的学生姓名 (加个 not 就行了)
SELECT Name
FROM Student
WHERE Name not like '%建%'
结果: 除了 ‘刘建宝’ , 别人都查出来了
2._
1> 查询学生姓名中的第二字是天的姓名
SELECT Name
FROM Student
WHERE Name like '_天%'
结果: 张天宝, 张天利
3.[]
1> 查询学生姓是‘王’或'刘'
SELECT Name
FROM Student
WHERE Name like '[刘王]%'
结果: 王涛,刘建宝
4.[-]
标识在一个范围内, 比如查询英文,首个字母在a,b,c,d,e中 , '[a-e]%'
数据表给不太合适, 这里就不写例子了,以后有时间了再补。
5.[^]
简单的理解就是取反, 比如查询英文,首个字母不在a,b,c,d,e中 , '[^a-e]%'
三、注意事项,着重注意点。
注意查收尾的话, %的位置即可
持续更新中、、、、、、本人代码新手,能力有限,如有不足之处,欢迎大家一起讨论交流。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)