6sql-server模糊查询

86 阅读1分钟

模糊查询

本教程在本专栏1 2 3 基础上编写的文案

模糊查询使用like关键字和通配符结合来实现,通配符具体含义如下:

%:代表匹配0个字符、1个字符或多个字符。
_:代表匹配有且只有1个字符。
[]:代表匹配范围内
[^]:代表匹配不在范围内

(1)查询姓刘的员工信息

select * from People  where PeopleName like '刘%'

(2)查询名字中含有 " 尚 " 的员工信息

select * from People  where PeopleName like '%尚%'

(3)显示名字中含有“尚”或者“史”的员工信息

select * from People  where PeopleName like '%尚%' or PeopleName like '%史%'

(4)查询姓刘的员工,名字是2个字

--方案一:
select * from People  where PeopleName like '刘_'
--方案二:
select * from People where SUBSTRING(PeopleName,1,1) = '刘' and LEN(PeopleName) = 2

(5)查询出名字最后一个字是香,名字一共三个字的员工信息

--方案一:
select * from People  where PeopleName like '__香'
--方案二:
select * from People where SUBSTRING(PeopleName,3,1) = '香' and LEN(PeopleName) = 3

(6)查询出电话号码开头138的员工信息

select * from People  where PeoplePhone like '138%'

(7)查询出电话号码开头138的员工信息,第4位可能是7,可能8 ,最后一个号码是5

select * from People where PeoplePhone like '138[7,8]%5'

(8)查询出电话号码开头133的员工信息,第4位是2-5之间的数字 ,最后一个号码不是2和3

--方案一:
select * from People where PeoplePhone like '133[2,3,4,5]%[^2,3]'
--方案二:
select * from People where PeoplePhone like '133[2-5]%[^2-3]'