第六章 用通配符进行过滤
时间:2010-12-01 来源:simpleisbest
通配符 用来匹配值的一部分的特殊字符。
搜索模式 由字面值,通配符或两者组合构成的搜索条件。
通配符本身实际是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;
搜索模式 由字面值,通配符或两者组合构成的搜索条件。
通配符本身实际是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;
相关阅读 更多 +