sqlserver数据库查询过滤的时候,经常需要使用模糊查询like语句,而且,最常用的是使用百分号通配符,但是,有时候也使用下划线通配符。那么,他们该如何使用呢?
方法/步骤
1、创建一个临时表,用于演示sqlserver模糊查询的形式IFOBJECT_ID(霁授作犬9;tempdb..#tmp呶蓟鹭毵Employee')ISNOTNULLDROPTABLE#tmpEmployee;CREATETABLE#tmpEmployee(EmpNamevarchar(50),--姓名 EmpAddressvarchar(200)--地址);
2、往临时表中插入几行测试数据inse筠续师诈rtinto#tmpEmployee(EmpName,EmpAddress)values(&垆杪屑丝#39;员工1','中国北京');insertinto#tmpEmployee(EmpName,EmpAddress)values('员工10','中国上海');insertinto#tmpEmployee(EmpName,EmpAddress)values('员工100','法国巴黎');insertinto#tmpEmployee(EmpName,EmpAddress)values('员工120','美国纽约');insertinto#tmpEmployee(EmpName,EmpAddress)values('员工150','中国深圳');
3、查询临时表中的测试数据select*from#tmpEmployee
4、使用like模糊查询,查询所有地址以中国开头的员工,此处使用通配符百分号,表示匹配任一多个字符select*from#tmpEmployeewhereEmpAddresslike'中国%'
5、使用下划线的模糊查询,这个表示必须有一个字符匹配,例如查询员工名称以员工1开头,且后面只有一个字符的人select*from#tmpEmployeewhereEmpNamelike'员工1_'
6、如果可以精确知道待查询的结果项,可以使用In查询,罗列出想要查询的结果select*from#tmpEmployeewhereEmpNamein('员工100','员工150')
7、使用like与下划线、百分号两者联合通配查询,例如,查询地址中,有一个国字,后面匹配任意一个字符,再接着一个海的地址select*from#tmpEmployeewhereEmpAddresslike'%国_海%'