文章编号:10430时间:2024-09-28人气:
在sql结构化查询语言中,like语句有着至关重要的作用。
like语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
A:% 包含零个或多个字符的任意字符串:
1、likeMc% 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、like%inger 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、like%en% 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
B:_(下划线) 任何单个字符:
like_heryl 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
C:[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:
1,like[CK]ars[eo]n 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、like[M-Z]inger 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
D:[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符:
likeM[^c]% 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeaTher)。
E:* 它同于DOS命令中的通配符,代表多个字符:
c*c代表cc,cBc,cbc,cabdfec等多个字符。
F:?同于DOS命令中的?通配符,代表单个字符 :
b?b代表brb,bFb等
G:# 大致同上,不同的是代只能代表单个数字。 k#k代表k1k,k8k,k0k 。
下面我们来举例说明一下:
例1,查询name字段中包含有“明”字的。
select * from table1 where name like %明%
例2,查询name字段中以“李”字开头。
select * from table1 where name like 李*
例3,查询name字段中含有数字的。
select * from table1 where name like %[0-9]%
例4,查询name字段中含有小写字母的。
select * from table1 where name like %[a-z]%
例5,查询name字段中不含有数字的。
select * from table1 where name like %[!0-9]%
以上例子能列出什么值来显而易见。 但在这里,我们着重要说明的是通配符“*”与“%”的区别。
很多朋友会问,为什么我在以上查询时有个别的表示所有字符的时候用%而不用“*”?先看看下面的例子能分别出现什么结果:
select * from table1 where name like *明*
select * from table1 where name like %明%
大家会看到,前一条语句列出来的是所有的记录,而后一条记录列出来的是name字段中含有“明”的记录,所以说,当我们作字符型字段包含一个子串的查询时最好采用“%”而不用“*”,用“*”的时候只在开头或者只在结尾时,而不能两端全由“*”代替任意字符的情况下。
SQL模糊查询,使用like比较关键字,加上SQL里的通配符,请参考以下: 1、LIKEMc% 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。 2、LIKE%inger 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。 3、LIKE%en% 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。 4、LIKE_heryl 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。 5、LIKE[CK]ars[eo]n 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。 6、LIKE[M-Z]inger 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。 7、LIKEM[^c]% 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。 ------------------------------------------------- 下 面这句查询字符串是我以前写的,根据变量 zipcode_key 在邮政编码表 zipcode 中查询对应的数据,这句是判断变量 zipcode_key 为非数字时的查询语句,用 % 来匹配任意长度的字符串,从表中地址、市、省三列中查询包含关键字的所有数据项,并按省、市、地址排序。 这个例子比较简单,只要你理解了方法就可以写出更 复杂的查询语句。 sql = select * from zipcode where (address like% & zipcode_key & %) or (city like% & zipcode_key & %) or (province like% & zipcode_key & %) order by province,city,address存储过程中使用模糊查询的例子:SELECT * FROM Questions where QTitle like % [ + @KeyWord + ] % and IsFinish = @IsFinsih语句中成对的方括号 是书写格式的关键。
like一般包含有通配符,%代表0个或多个字符,_代表一个字符,即like是模糊查询,=是精确匹配,比如 姓名 like 张%是查询姓张的人,姓名=张三,是查找名字是张三的人
1、多字段like模糊查询优化: 最常见的写法: wherea like %xx% or b like %xx% or c like %xx%; 这种写法查询效率低,经过调查,下面的方法可以替代,并且效率高: 2、如果like的关键字相同: where instr(nvl(a, )||nvl(b,)||nvl(c,), xx) > 0 把要模糊查询的字段先拼接起来,拼接时需要把null转成‘’,否则只要有一个字段值是空,整个拼接的字符串都成空了, 然后用instr 函数去过滤; 3、如果like的关键字不同: where instr(a, xx) > 0orinstr(b, yy) > 0or instr(c, zz) > 0 经过测试,这两种方法都比like效率要高;
通配符是进行模糊查询时用到的,比如有个字段是字符串,你想找abc开头的字符串,因为abc开头的字符串有很多很多,可能会有abc、abcd、abcdd。 。 。 。 。 。 。 ,也就是说abc后面可能会有0个字符(abc),也可能有多个字符(abcd、abcdd。 。 。 。 ),你得写xxxx like abc% ,再打个比方,你查找全部姓王的同事,你可以写 xxxx like 王%,姓王的可能是2个字,也可能是3个字查一个单词第四个字母是a的应该这样表达:xxxx like ____a%如果不用通配符,like相当于=like是用来按照你要求查找字符串地明白了吗?
内容声明:
1、本站收录的内容来源于大数据收集,版权归原网站所有!
2、本站收录的内容若侵害到您的利益,请联系我们进行删除处理!
3、本站不接受违法信息,如您发现违法内容,请联系我们进行举报处理!
4、本文地址:http://www.jujiwang.com/article/813fcf0f2a419eea8a45.html,复制请保留版权链接!
XSLT,可扩展样式表语言转换,是一种强大的工具,可用于将XML文档转换为其他格式,例如HTML、文本或其他XML,掌握XSLT的基础知识对于处理XML至关重要,这将极大提升您的XML处理能力,XML的基础知识在深入探讨XSLT之前,让我们先了解XML的基础知识,XML,可扩展标记语言,是一种可用于表示数据的标记语言,它使用标签来定义...。
本站公告 2024-09-26 22:44:37
前言在SQLServer中,RAISERROR语句是一个强大的工具,可用于向应用程序或用户发送自定義錯誤消息,它允许您指定錯誤號碼、嚴重性級別和自定義消息文本,借助此功能,您可以提供更具信息性和有用的錯誤消息,從而改善用戶體驗並簡化故障排除過程,RAISERROR语法RAISERROR語句的基本語法如下,RAISERROR,messa...。
互联网资讯 2024-09-25 11:54:11
简介数据库事务是数据库管理系统中的一组相关操作,这些操作作为一个整体执行,要么全部成功,要么全部失败,事务通常用于确保数据的一致性和完整性,在MySQL中,使用BEGINTRANSACTION命令开始事务,使用COMMIT提交事务,使用ROLLBACK回滚事务,BeginTransaction的好处使用BEGINTRANSACTION...。
本站公告 2024-09-23 06:59:30
在JavaScript中,split,方法是一种强大的工具,可用于将字符串拆分为一个数组,它允许你根据指定的模式或分隔符将字符串分解为更小的片段,本文将深入探讨split,方法,包括它的语法、参数、返回值和使用示例,以帮助你充分利用它,语法split,方法的语法如下,string.split,[separator[,limit]...。
最新资讯 2024-09-14 22:15:31
概述wxPython是一个强大的GUI,图形用户界面,库,它允许开发人员使用Python编程语言为不同的平台创建跨平台应用程序,包括桌面、移动和Web,本文将重点介绍wxPython在跨平台开发中的优势,以及如何在桌面、移动和Web平台上构建应用程序,桌面开发对于桌面开发,wxPython提供了一个广泛的控件和布局选项,使开发人员能够...。
本站公告 2024-09-14 20:31:26
序在`web.xml`文件中设置Jersey应用程序,```xmlJerseyServletorg.glassfish.jersey.servlet.ServletContainerjersey.config.server.provider.packagescom.example.restapi1```测试API启动Web应用程序并使...。
最新资讯 2024-09-14 12:45:32
变量或JavaScript,您可以轻松自定义滚动条颜色以匹配您的网站设计,通过发挥创造力,您可以使用多种方式让您的滚动条脱颖而出,并为您的用户提供更好的体验,我们希望本指南对您有所帮助!如果您有任何其他问题,请随时在评论中询问,...。
技术教程 2024-09-14 10:35:30
的单元格求和=SUMIF,A1,A10,>,0,AVERAGEIF对满足指定条件的单元格求平均值=AVERAGEIF,A1,A10,>,0,COUNTIF统计满足指定条件的单元格个数=COUNTIF,A1,A10,>,0,MAXIFS对满足指定条件的单元格求最大值=MAXIFS,A1,A10,B1,B10,>,0,查找...。
技术教程 2024-09-13 14:03:33
应用很有用,优化函数信号发生器性能的最佳实践了解应用的具体要求,选择性能符合要求的信号发生器,正确配置信号发生器的设置,定期校准信号发生器,使用高质量的连接器和电缆,探索高级功能,以扩展信号生成器的功能,结论通过应用这些秘诀和技巧,可以显着优化函数信号发生器的性能,这将确保设备产生准确且可靠的信号,从而提高电子测试和测量应用的质量和效...。
互联网资讯 2024-09-13 13:51:09
C语言是一种广泛使用且功能强大的编程语言,在操作系统、嵌入式系统、游戏开发等领域有着广泛的应用,如果您想学习C语言,北京是一个理想的城市,这里汇集了众多优秀的C语言培训机构,寻找适合您的培训机构在选择培训机构时,请考虑以下因素,口碑和评价,查看机构的在线评价和口碑,了解其他学生的学习体验,课程内容,确保课程内容涵盖您需要的基础和高级C...。
技术教程 2024-09-11 23:19:33
简介ASP,ActiveServerPages,是一种Microsoft技术,可用于创建动态Web应用程序,本指南将带您逐步了解ASP编程的基础知识,即使您没有编程经验,也可以上手,安装和设置安装IIS在您的计算机上安装IIS,Internet信息服务,以运行ASP网站,访问Microsoft网站下载并安装最新版本的IIS,创建虚拟目...。
技术教程 2024-09-09 18:14:37
异常处理在什么时候进行异常处理是在程序运行时遇到错误或异常情况时进行的,这些情况通常是由代码中不可预见的事件或条件引起的,例如,访问不存在的内存地址除以零文件打开失败函数调用返回错误当发生异常时,程序会跳出正常的执行流程,并执行异常处理代码,异常处理代码可以尝试处理该异常,例如通过恢复操作或提供错误信息,或者它可以将异常传递给调用者,...。
互联网资讯 2024-09-07 05:21:42