志在指尖
用双手敲打未来

sql like操作符语句(用法详解)

sqllike操作符语句

LIKE操作符用于在WHERE子句中搜索列中的指定模式。
SQLLIKE操作符
LIKE操作符用于在WHERE子句中搜索列中的指定模式。
SQLLIKE语法
SELECTcolumn_name(s)
FROMtable_name
WHEREcolumn_nameLIKEpattern;
演示数据库
我们将使用RUNOOB样本数据库。
下面是选自”Websites”表的数据:
+—-+————–+—————————+——-+———+|id|name|url|alexa|country|+—-+————–+—————————+——-+———+|1|Google|https://www.google.cm/|1|USA||2|淘宝|https://www.taobao.com/|13|CN||3|菜鸟教程|http://www.runoob.com/|4689|CN||4|微博||20|CN||5|Facebook|https://www.facebook.com/|3|USA||7|stackoverflow|http://stackoverflow.com/|0|IND|+—-+—————+—————————+——-+———+
SQLLIKE操作符实例
下面的SQL语句选取name以字母”G”开始的所有客户:
实例
SELECT*FROMWebsites
WHEREnameLIKE’G%’;
执行输出结果:
提示:”%”符号用于在模式的前后定义通配符(缺省字母)。您将在下一章中学习更多有关通配符的知识。sql like
下面的SQL语句选取name以字母”k”结尾的所有客户:
实例
SELECT*FROMWebsites
WHEREnameLIKE’%k’;
执行输出结果:
下面的SQL语句选取name包含模式”oo”的所有客户:
实例
SELECT*FROMWebsites
WHEREnameLIKE’%oo%’;
执行输出结果:
通过使用NOT关键字,您可以选取不匹配模式的记录。
下面的SQL语句选取name不包含模式”oo”的所有客户:
实例
SELECT*FROMWebsites
WHEREnameNOTLIKE’%oo%’;

sqllike操作符语句用法详解

在SQL结构化查询语言中,LIKE句子有着至关重要的作用。
LIKE句子的语法格局是:select*from表名where字段名like对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包括对应子串的。
假定有一个数据库中有个表table1,在table1中有两个字段,别离是name和sex二者满是字符型数据。现在咱们要在名字字段中查询以“张”字最初的记载,句子如下:
select*fromtable1wherenamelike”张*”
如果要查询以“张”结束的记载,则句子如下:
select*fromtable1wherenamelike”*张”
这儿用到了通配符“*”,能够说,like句子是和通配符分不开的。下面咱们就详细介绍一下通配符。
匹配类型
形式
举例及代表值
阐明
多个字符
*
c*c代表cc,cBc,cbc,cabdfec等
它同于DOS指令中的通配符,代表多个字符。
多个字符
%
%c%代表agdcagd等
这种办法在许多程序中要用到,主要是查询包括子串的。
特别字符
[*]
a[*]a代表a*a
代替*
单字符
?
b?b代表brb,bFb等
同于DOS指令中的?通配符,代表单个字符
单数字
#
k#k代表k1k,k8k,k0k
大致同上,不同的是代只能代表单个数字。
字符规模
-[a-z]代表a到z的26个字母中恣意一个指定一个规模中恣意一个
续上
扫除[!字符][!a-z]代表9,0,%,*等它只代表单个字符
数字扫除[!数字][!0-9]代表A,b,C,d等同上
组合类型字符[规模类型]字符cc[!a-d]#代表ccF#等能够和其它几种方式组合运用
假定表table1中有以下记载:
namesex
张小明男
李明日男
李a天女
王5五男
王清五男
下面咱们来举例阐明一下:
例1,查询name字段中包括有“明”字的。
select*fromtable1wherenamelike’%明%’
例2,查询name字段中以“李”字最初。
select*fromtable1wherenamelike’李*’
例3,查询name字段中含有数字的。
select*fromtable1wherenamelike’%[0-9]%’
例4,查询name字段中含有小写字母的。
select*fromtable1wherenamelike’%[a-z]%’
例5,查询name字段中不含有数字的。
select*fromtable1wherenamelike’%[!0-9]%’
以上比如能列出什么值来清楚明了。但在这儿,咱们着重要阐明的是通配符“*”与“%”的差异。
许多朋友会问,为什么我在以上查询时有单个的表明所有字符的时分用”%”而不必“*”?
先看看下面的比如能别离出现什么结果:
select*fromtable1wherenamelike*明*
select*fromtable1wherenamelike%明%
大家会看到,前一条句子列出来的是所有的记载,然后一条记载列出来的是name字段中含有“明”的记载,
所以说,当咱们作字符型字段包括一个子串的查询时最好选用“%”而不必“*”,用“*”的时分只在最初或许只在结束时,而不能两端全由“*”代替恣意字符的情况下。

未经允许不得转载:IT技术网站 » sql like操作符语句(用法详解)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载