首页 > 代码库 > Day-5:通配符过滤

Day-5:通配符过滤

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

  通配符是WHERE子句中的特殊含义字符,且必须使用LIKE操作符(LIKE是谓词)。

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

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

3、百分号(%)通配符

  最常使用的通配符是百分号(%),在搜索串中,百分号表示任何字符出现任意次数(0个、1个、多个),不能匹配NULL。

  例子:找出以词Fish开头的产品

select prod_id, prod_name
from products
where prod_name like Fish%;

/*
prod_id, prod_name
BNBG01    Fish bean bag toy
*/
说明:根据DBMS的不同及配置,搜索可以区分大小写,如果区分大小写则‘fish%‘与Fish bean bag toy就不匹配。

  例子:搜索两端

select prod_id, prod_name
from products
where prod_name like %bean bag%;

/*
prod_id, prod_name
BNBG01    Fish bean bag toy
BNBG02    Bird bean bag toy
BNBG03    Rabbit bean bag toy
*/

4、下划线(_)通配符:用途与%一样,但下划线只匹配一个字符。

select prod_id, prod_name
from products
where prod_name like _ inch teddy bear;

/*
prod_id, prod_name
BR01    8 inch teddy bear
*/

5、方括号([])通配符:指定一个字符集,必须匹配指定位置的一个字符。不是所有的DBMS都支持[]

  例子:找出所有名字以J或M开头的联系人

select cust_contact
from customers
where cust_contact like [JM]%
order by cust_contact;

/*无输出,与书上写的不一样*/

 

Day-5:通配符过滤