第6课 用通配符进行过滤

第6课 用通配符进行过滤
如何使用通配符以及怎样使用LIKE操作符进行通配搜索,以便对数据进行复杂过滤。
通配符(wildcard):用来匹配值的一部分的特殊字符。(只能用于文本字段)
搜索模式(search pattern):由字面值、通配符或两都组合构成的搜索条件。
 
6.1.1 百分号(%)通配符
%:表示任何字符出现任意次数。(不会匹配NULL)
例:找出所有以词Fish开头的产品,SELECT如下:
1 SELECT prod_id,prod_name
2 FROM Products
3 WHERE prod_name LIKE 'Fish%'

 

 
6.1.2 下划线(_)通配符
_:与%一样,但它只匹配单个字符,而不是多个字符。
1 SELECT prod_id,prod_name
2 FROM Products
3 WHERE prod_name LIKE 'Fish_'

 

注:匹配Fish开头,后跟任意一个字符。
 
6.1.3 方括号([])通配符
[]:用来指定一个字符集,它必须匹配指定位置(通配符的位置)的一个字符。
例:找出所有名字以J或M起头的联系人,可进行如下查询:
1 SELECT prod_id,prod_name
2 FROM Products
3 WHERE prod_name LIKE '[JM]%'

 

注:
此通配符可以用前缀字符^来否定。(可以使用NOT,^的唯一优点是在使用多个WHERE子句时可以简化语法)
例:查询匹配以J和M之外的任意字符起头的任意联系人名。
1 SELECT prod_id,prod_name
2 FROM Products
3 WHERE prod_name LIKE '[^JM]%'

 

 
6.2 使用通配符的技巧
1)、不要过度使用通配符。如果其他操作符能达到相同的目的,应该使用其他操作符。
2)、在确实需要使用通配符时,也尽量不要把它们用在搜索模式的开始处。把通配符置于开始处,搜索起来是最慢的。
3)、仔细注意通配符的位置。如果放错地方,可能不会返回想要的数据。
posted @ 2022-06-13 16:38  lqsj2018  阅读(112)  评论(0)    收藏  举报