第六章 用通配符进行过滤

通配符 用来匹配值的一部分的特殊字符。

搜索模式 由字面值,通配符或两者组合构成的搜索条件。

通配符本身实际是SQL的WHERE子句中有特殊含义的字符,SQL支持几种通配符。

为在搜索子句中使用通配符,必须使用LIKE操作符。

通配符搜索只能用于文本字段(串),非文本数据类型字段不能使用通配符搜索。

通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符。

1.百分号(%)通配符

   在搜索串中,%表示任何字符出现任意次数。%除了匹配一个或多个字符外,还能匹配0个字符。%代表搜索模式中给定位置的0个,1个或多个字符。

SELECT prod_d, prod_name
FROM Products
WHERE prod_name LIKE 'Fish%';

SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE '%bean bag%';

2.下划线(_)通配符

   下划线的用途与%一样,但下划线只匹配当个字符而不是多个字符。与%能匹配0个字符不一样,_总是匹配一个字符,不能多也不能少。

SELECT prod_name, prod_id
FROM Products
WHERE prod_name LIKE '__ inch teddy bear';

3.方括号([])通配符

方括号([])通配符用来指定一个字符集,它必须匹配指定位置(通配符的位置)的一个字符。

例:搜索所有名字以J或M起头的联系人

SELECT cust_contact
FROM Customers
WHERE cust_contact LIKE '[JM]'
ORDER BY cust_contact;

次通配符可以用前缀字符^(脱字符)来否定。

例:查询匹配不以J或M起头的任意联系人名

SELECT cust_contact
FROM Customers
WHERE cust_contact LIKE '[^JM]'
ORDER BY cust_contact;








作者: simpleisbest   发布时间: 2010-12-01