当前位置:首页 » 编程语言 » sqllike语法

sqllike语法

发布时间: 2022-11-29 08:21:01

sql like用法

没太看懂你说的意思,不过like的用法我还是知道的

like 用于模糊查询,不知道的可以用%代替,比如我想查询add字段的内容,但记不全,只是知道里面有“北京市”,我就可以用:

selectaddfromtable_namewhereaddlike‘%北京市%’

进行查询。

② SQL Like的用法

1、%:表示零个或多个字符。

可以匹配任意 类型 和任意长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

比如:select * from flow_user where username like '%王%';

将会把flow_user这张表里面,列名username中还有“王”的记录全部查询出来。

另外,如果需要找到flow_user这张表里面, 字段 username中既有“唐”,又有“英”的记录,可以使用and条件,

select * from flow_user where username like '%英%' and username like '%唐%';

则可以查询出来所有包含“英”和“唐”的所有内容,“英”和“唐”所在的前后位置无所谓。

若是用select * from flow_user where username like '%英%唐%';

可以查出来包含“英唐”的内容,但是查不出来“唐英”的内容。

2、_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度:

select * from flow_user where username like ' 英 ';

只能找到“王英琨”这样username为三个字且中间一个字是“英”的内容。

再比如:select * from flow_user where username like '英__';

只能找到“英雄点”这样username为三个字且第一个字是“英”的内容。

3、[]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配的对象为他们中的任一个。

select * from flow_user where username LIKE'[王李张]飞';

将找出“王飞”“李飞”“张飞”(而不是“张王李飞”)。

如[]内有一系列字符(01234,abcde之类的)则可略写为“0-4”,“a-e”:

select * from flow_user where username like '老[0-9]';

将找出“老1”、“老2”、……、“老9”;

Oracle 10g以上的版本用法为:

select * from flow_user where regexp_like(username, '[张王李]飞');

4、[^]:表示不在括号所列之内的单个字符。其取之和[]相同,但它所要求匹配对象为指定字符以外的任一个字符。

select * from flow_user where username LIKE'[^王李张]飞';

将找出不是“王飞”“李飞”“张飞“的”赵飞“、”吴飞“等。

注:oracle like 不支持正则,你可以使用支持like的正则regexp_like

5、查询内容包含通配符时:

由于通配符的缘故,导致查询特殊字符“%”、“_”、“[”的语句无法正常实现,把特殊字符用“[]”括起来便可以正常查询。

function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str," ","[ ]")
str=replace(str,"%","[%]")
sqlencode=str
end function

③ sql语句中like的用法详细解析

在SQL结构化查询语言中,LIKE语句有着至关重要的作用。
LIKE语句的语法格式是:select
*
from
表名
where
字段名
like
对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据。现在我们要在姓名字段中查询以“张”字开头的记录,语句如下:
select
*
from
table1
where
name
like
"张*"
如果要查询以“张”结尾的记录,则语句如下:
select
*
from
table1
where
name
like
"*张"
这里用到了通配符“*”,可以说,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中有以下记录:
name
sex

张小明

李明天

李a天女
王5五男
王清五

下面我们来举例说明一下:
例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查询语句中SELECT LIKE用法详解

在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)。

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])
的任何单个字符:

LIKE'M[^c]%'
将搜索以字母
M
开头,
并且第二个字母不是
c
的所有名称(如MacFeather)。

E:
*
它同于DOS命令中的通配符,
代表多个字符:

c*c代表cc,cBc,cbc,cabdfec等多个字符。

F:
?同于DOS命令中的?通配符,
代表单个字符
:b?b代表brb,bFb等

G:
#
大致同上,
不同的是代只能代表单个数字。
k#k代表k1k,k8k,k0k。

F:
[!]
排除
它只代表单个字符

下面我们来举例说明一下:

例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用法疑问

like是包含的意思,就是字段值中包含你要like的名称
你的例子中,中国工商银行 中 是不包含 中国工商银行上海支行 的,所以查不到
反过来,中国工商银行上海支行 中是包含 中国工商银行 的,所以如果是有
name = "中国工商银行上海支行"数据的时候,用like '%中国工商银行%'来查的话就能查到了

⑥ SQL中like的用法

LIKE是另一个在WHERE子句中会用到的指令。基本上,LIKE能让我们依据一个套(pattern) 来找出我们要的资料。相对来说,在运用IN的时候,我们完全地知道我们需要的条件;在运用BETWEEN的时候,我们则是列出一个范围。LIKE的语法如下:

⑦ sql like 语法

你把 like '%1%' 换成like '1' 就行了。因为%这个符号是模糊匹配字符用的,至少要有一个字符才能匹配,但是你的“1”前面和后面都没有字符,所以就查询不出来,如果你的字段为“213” 用like '%1%' 就能查询出来了。

⑧ SQL中like的用法

Like ‘%mr%’--------包含字符mr的任何文本;
Like ‘mr%’-----------以字符mr开头的任何文本;
Like ‘%mr’------------以字符mr结尾的任何文本;
使用’_’匹配任意单个字符;
使用’[]’匹配某一范围的字符:[a-m]表示a到m的所有字符,[0-9]表示0到9的所有数字;
使用’[^]’匹配非某一范围的字符;

⑨ sql的like语句怎么用

LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符语法
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

例子 1
现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE City LIKE 'N%'
提示:"%" 可用于定义通配符(模式中缺少的字母)。

⑩ 请问SQL中的like子句中可以使用的通配符有

SQL中的like子句中可以使用的通配符有:*、%、_。

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。"%" 可用于定义通配符(模式中缺少的字母)。在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。

SQL LIKE 操作符语法:

SELECT column_name(s)

FROM table_name

WHERE column_name LIKE pattern


(10)sqllike语法扩展阅读

1、选取居住在以 "Ne" 开头的城市里的人: select * from Persons where city like '%Ne'

2、从 "Persons" 表中选取居住在包含 "lond" 的城市里的人: select * from Persons where city like '%lon%'

3、从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:select * from Persons where FirstName like '_eorge'

4、从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":

select * from Persons where FirstName like 'C_r_er'

5、从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

select * from Persons where City like '[ALN]%'

6、从上面的 "Persons" 表中选取居住的城市不以"A" 或 "L" 或 "N" 开头的人:

select * from Persons where City like '[!ALN]%'

7、从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人:

select * from Persons where City like '%g'

8、从 "Persons" 表中选取居住在不包含"lon" 的城市里的人

select * from Persons where city not like '%lon%'

热点内容
新项目源码 发布:2025-01-18 18:14:48 浏览:517
脚本设计图 发布:2025-01-18 18:06:17 浏览:601
内部存储空间不足总是跳出来 发布:2025-01-18 17:56:22 浏览:951
安卓光遇更新后魔法商店去哪里了 发布:2025-01-18 17:55:47 浏览:132
安卓手机怎么变成苹果设备 发布:2025-01-18 17:46:06 浏览:915
linux服务端 发布:2025-01-18 17:36:55 浏览:250
表白代码的编译器是什么 发布:2025-01-18 17:36:53 浏览:1000
录像机日志服务器地址怎么填 发布:2025-01-18 17:28:17 浏览:111
安卓手机如何调整图标样式 发布:2025-01-18 17:23:53 浏览:549
计算机配置单怎么算 发布:2025-01-18 17:23:52 浏览:81