sqlserver数据库查询过滤的时辰,经常需要利用恍惚查询like语句,并且,最常用的是利用百分号通配符,可是,有时辰也利用下划线通配符。那么,他们该若何利用呢?
建立一个姑且表,用于演示sqlserver恍惚查询的形式
IF OBJECT_ID('tempdb..#tmpEmployee') IS NOT NULL DROP TABLE #tmpEmployee;
CREATE TABLE #tmpEmployee(
EmpName varchar(50), -- 姓名
EmpAddress varchar(200) -- 地址
);
往姑且表中插入几行测试数据
insert into #tmpEmployee(EmpName, EmpAddress) values('员工1', '中国海说神聊京');
insert into #tmpEmployee(EmpName, EmpAddress) values('员工10', '中国上海');
insert into #tmpEmployee(EmpName, EmpAddress) values('员工100', '法国巴黎');
insert into #tmpEmployee(EmpName, EmpAddress) values('员工120', '美国纽约');
insert into #tmpEmployee(EmpName, EmpAddress) values('员工150', '中国深圳');
查询姑且表中的测试数据
select * from #tmpEmployee
利用like恍惚查询,查询所有地址以中国开首的员工,此处利用通配符百分号,暗示匹配任一多个字符
select * from #tmpEmployee where EmpAddress like '中国%'
利用下划线的恍惚查询,这个暗示必需有一个字符匹配,例如查询员工名称以员工1开首,且后面只有一个字符的人
select * from #tmpEmployee where EmpName like '员工1_'
若是可以切确知道待查询的成果项,可以利用In查询,枚举出想要查询的成果
select * from #tmpEmployee where EmpName in ('员工100', '员工150')
利用like与下划线、百分号两者结合通配查询,例如,查询地址中,有一个国字,后面匹配肆意一个字符,再接着一个海的地址
select * from #tmpEmployee where EmpAddress like '%国_海%'
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!