使用通配符进行过滤
通配符(wildcard): 用来匹配值的一部分特殊字符。
通配符搜索只能用于文本字段(字符串),非文本数据类型字段不能使用通配符搜索。
1. LIKE 操作符
为在搜索子句中使用的通配符,必须使用LIKE操作符。LIKE指示DBMS,后跟的搜索模式利用通配符匹配而不是简单的相等匹配进行比较。
1.1 百分号(%)通配符
%表示任何字符出现任意次数。 如果使用的是Microsoft Access,需要使用*而不是%。
select * from Table where ID LIKE 'Link%'
区分大小写: 根据DBMS的不同及其配置,搜索可以是区分大小写的,如果区分大小写,则'link%' 与 Link bean toy 就不匹配
注意:请注意NULL
通配符%看起来像是可以匹配任何东西,但有一个例外,这就是NULL。子句WHERE name LIKE ’%‘ 不会匹配产品名称为NULL的行。
1.2 下划线(_)通配符
下划线的用途与%一样,但它只匹配单个字符,而不是多个。
说明: DB2不支持通配符_。
如果使用的是Microsoft Access,需要使用?而不是_。
与%能匹配多个字符不同,_总是刚好匹配一个字符,不能多也不能少。
1.3 方括号([])通配符
方括号([])通配符用来指定一个字符集,它必须匹配指定位置(通配符的位置)的一个字符。
2 使用通配符的技巧
- 如果使用操作符能到达效果,不要使用通配符
- 使用通配符时,尽量不要把它用在搜索模式的开始处
- 注意通配符的位置。