sql语句like的替换写法,sql语句模糊查询like用法
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!
在sql结构化查询语言中,like语句有着至关重要的作用。
like语句的语法格式是:select* from表名 where字段名 like对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
A:%包含零个或多个字符的任意字符串:
1、like'Mc%'将搜索以字母 Mc开头的所有字符串(如 McBadden)。
2、like'%inger'将搜索以字母 inger结尾的所有字符串(如 Ringer、Stringer)。
3、like'%en%'将搜索在任何位置包含字母 en的所有字符串(如 Bennet、Green、McBadden)。
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])的任何单个字符:
like'M[^c]%'将搜索以字母 M开头,并且第二个字母不是 c的所有名称(如MacFeather)。
E:*它同于DOS命令中的通配符,代表多个字符:
c*c代表cc,cBc,cbc,cabdfec等多个字符。
F:?同于DOS命令中的?通配符,代表单个字符:
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进行模糊查询,有两个通配符:%百分号代表任意个字符,_下划线代表一个字符。
1、like'Mc%'将搜索以字母 Mc开头的所有字符串。
2、like'%inger'将搜索以字母 inger结尾的所有字符串。
3、like'%en%'将搜索在任何位置包含字母 en的所有字符串。
‘_':下划线,表示1个任意字符;如... where name like'_am',表示仅第一位任意,并以'am'结尾,结果如"Tam","Mam","Pam"等。
'%’:百分号,表示任意个任意字符;如... where name like‘%am',表示前面可以有任意位,只要以'am'结尾,结果如"abcam",“bcdefgham","qwertyuiopam","am"等等。
以上内容参考:百度百科-SQL LIKE
wwW.Xtw.Com.cN系统网专业的PC、手机系统开发下载平台,HarmonyOS系统、安卓、OS、windows电脑重装系统在线下载安装,操作系统平台技术学习,攻略教程,技术交流。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com