Day-5:通配符过滤

Posted 起航追梦人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:通配符过滤的主要内容,如果未能解决你的问题,请参考以下文章

操作 Java 泛型:泛型在继承方面体现与通配符使用

为什么我不能在此片段中生成唯一对象数组?

用通配符进行过滤

MySQL通配符过滤

MySQL必知应会-第8章-用通配符进行过滤

带有通配符的Scala过滤器? [复制]