SQL之通配符过滤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL之通配符过滤
操作符like
通配符本是实际是SQL的where⼦句中有特殊含义的字符,SQL⽀持⼏种通配符。
为了在搜索⼦句⾥使⽤通配符,必须使⽤like操作符。
1.%通配符
%表⽰出现任意次数的任意字符
找出fish开头的产品。
select prod_id,prod_name
from Products
where prod_name like "Fish%";
找出中间有fish的产品
select prod_id,prod_name
from Products
where prod_name like "%Fish%";
2._通配符
下划线⽤途与%⼀样,但是只匹配单个字符
找出类似“Fish 12”或者“Fish 21”,只能是类似的格式
select prod_id,prod_name
from Products
where prod_name like "Fish __";
如果是%通配符,就能匹配到类似“Fish 8”
select prod_id,prod_name
from Products
where prod_name like "Fish %";
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;
当然使⽤not操作符也可以
select cust_contact
from customers
where not cust_contact like "[JM]%"
order by cust_contact;
4。
使⽤技巧
1.在具体不同的sql中通配符细节上会有所不同。
2.不要过度使⽤通配符,如果能不⽤就尽量不⽤。
3.不要把通配符⽤在搜索模式的开始处。