第6课 用通配符进行过滤

这一课介绍什么是通配符、如何使用通配符以及怎样使用LIKE操作符进行通配搜索,以便对数据进行复杂过滤。

LIKE操作符

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

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

百分号(%)通配符

%表示任何字符出现任意次数。例如找出所有以Fish起头的产品:

SELECT prod_id, pro_name FROM Products WHERE prod_name LIKE 'Fish%';

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

SELECT prod_id, prod_name FROM Products WHERE prod_name LIKE 'F%y';

%还能匹配0个字符。

注意:%不能匹配NULL。

下划线(_)通配符

下划线的用途与%一样,但它只匹配单个字符,而不是多个字符。

SELECT prodid, prodname FROM Products WHERE prod_name LIKE ' in';

_总是刚好匹配一个字符,不能多也不能少。

方括号([])通配符

方括号通配符用来指定一个字符集,他必须匹配指定位置的一个字符。

例如匹配J或M开头的任意cust_contact

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

方括号通配符可以使用^来否定。

SELECT Customers FROM Products WHERE cust_contact LIKE 'JM%' ORDER BY cust_contact;