用通配符进行过滤_第1页
用通配符进行过滤_第2页
用通配符进行过滤_第3页
用通配符进行过滤_第4页
用通配符进行过滤_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1用通配符进行过滤--通配符进行过滤#使用条件是只能用于文本字段(字符串),非文本数据类型字段不能使用通配符搜索--LIKE操作符/*当过滤中使用的值都是已知的时候可以不用通配符,但是当数据量很大需要进行搜索特定条件的值,简单的比较操作符肯定不行,这时候利用通配符,可以创建比较特定数据的搜索模式。什么是通配符?用来匹配值的一部分的特殊字符什么是搜索模式?由字面值、通配符或两者组合构成的搜索条件一个显著的标志就是:通配符本身是SQL的WHERE子句中有特殊含义的字符搜索子句中使用通配符必须使用LIKE操作符,LIKE指示DBMS,后跟的搜索模式利用通配符匹配而不是简单的相等匹配进行比较*/--百分号(%)通配符(%表示任意字符出现任意次数)SELECTprod_id,prod_nameFROMProductsWHEREprod_nameLIKE'Fish%';#表示以Fish开头,Fish之后任意字符,不管有多少--DBMS的不同,搜索是可以区分大小写的,匹配出的结果也就不一样--通配符可在搜索模式中的任意位置使用,并且可以使用多个通配符SELECTprod_id,prod_nameFROMProductsWHEREprod_nameLIKE'%beanbag%';/*'%beanbag%'表示匹配任何位置包含beanbag的值,不论它前后出现什么字符*/--匹配找出F开头,y结尾的所有产品SELECTprod_nameFROMProductsWHEREprod_nameLIKE'F%y';--需要特别注意的是%也可以匹配0个字符,即在搜索模式中可以匹配0个、1个或多个字符/*当DBMS用来填补字段的内容的时候,y后面有很多,这个时候'F%y'就无法检索出来,需要使用'F%y%'。更好的解决办法是用函数去掉。此外,通配符%不会匹配NULL*/--下划线_通配符(用途与%一样,但是只能匹配单个字符,而不是多个字符)SELECTprod_id,prod_nameFROMProductsWHEREprod_nameLIKE'__inchteddybear';#注意这里是两个下划线--与%对比发现,_只能匹配一个字符,不能多也不能少SELECTprod_id,prod_nameFROMProductsWHEREprod_nameLIKE'%inchteddybear';/*[]通配符只有Access和SQLServer支持集合,它用来指定一个字符集,必须匹配指定位置的一个字符SELECTcust_contactFROMCustomersWHEREcust_contactLIKE'[JM]%'ORDERBYcust_contact;其中[JM]匹配方括号中的任意一个字符,只能匹配打个字符,即以J或者M开头的姓氏也可以加入前缀字符^来进行否定,匹配得到J和M之外的任意字符起头的人名[^JM]此外NOT操作符在这里与^功能相同SELECTcust_contactFROMCustomersWHERENOTcust_contactLIKE'[JM]%'ORDERBYcust_contact;^的唯一优点就是在使用多个WHERE子句时可以简化语法*//*使用通配符的技巧:1.不要过度使用,因为通配符搜索比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论