SQL LIKE操作符、通配符以及通配符的使用

您所在的位置:网站首页 特殊运算符号in的含义是什么 SQL LIKE操作符、通配符以及通配符的使用

SQL LIKE操作符、通配符以及通配符的使用

#SQL LIKE操作符、通配符以及通配符的使用| 来源: 网络整理| 查看: 265

注意:搜索可以区分大小写,也可以不区分大小写。

LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式或取值。

语法

SELECT 列名 FROM 表名 WHERE 列名 LIKE 模式或取值;

注意:

1、在没有通配符时,LIKE 操作符与等号(=)的效果一样,不光可以在 SELECT 语句中使用 LIKE 操作符,也可以在 UPDATE、DELETE等语句中使用 LIKE 操作符。

2、LIKE 操作符匹配整个列,如果被匹配的文本在列值中出现,LIKE 将不会找到它,相应的行也不被返回(除非使用通配符)。(也可以使用正则表达式代替 LIKE操作符)。

通配符

通配符用来匹配值的一部分的特殊字符,通配符本身实际是 SQL 的 WHERE 子句中有特殊含义的字符,使用通配符时必须使用 LIKE 操作符。

SQL支持的通配符:

通配符描述%替代0个或多个字符_替代一个字符[charlist]字符列中的任何单一字符

[^charlist] 或者 [!charlist]

不在字符列中的任何单一字符

 注意:

1、MySQL 、SQLite 只支持百分号(%)和 下划线(_)通配符,不支持 [^charlist] 或 [!charlist] 通配符(微软的Access 、 SQL Server以及其他公司的数据库管理软件支持,但微软有时候的通配符不支持百分号(%),而是用星号(*),具体看对应软件说明。

2、通配符和正则不是一回事。

3、不要过度使用通配符或非必须使用通配符时尽量不要使用通配符,它会降低搜索性能,增加性能负担。

 百分号(%)通配符

%表示任何字符出现任意次数。语法:

SELECT 列名 FROM 表名 WHERE 列名 LIKE '%字符'; 或是 SELECT 列名 FROM 表名 WHERE 列名 LIKE '字符%'; 或是 SELECT 列名 FROM 表名 WHERE 列名 LIKE '%字符%';

语法举例(以 字母A 为例):

'%A' 代表以A结尾的数据,例如:BBA、acbA、AA等都符合。 'A%' 代表以A开头的数据,例如:ACB、Add、Ab等都符合。 '%A%' 代表含有A的数据,例如:CAC,AAA,bAc等都符合。

 注意:

1、除了一个或多个字符外,百分号(%)能匹配0个字符。%代表搜索模式中给定位置的0个、1个或多个字符。

2、尾空格可能会干扰通配符匹配,例如在使用 ‘%符号’ 时,若符号后面若有空格则会影响结果匹配,解决方法可以在符号后面加一个百分号(%)或是使用函数去除尾空格。

3、虽然似乎%通配符可以匹配任何东西,但是百分号(%)不能匹配 NULL ,即使使用'%'也不能匹配NULL。

下划线(_)通配符

只适用于匹配单个字符,用途与百分号(%)一样。语法:

SELECT 列名 FROM 表名 WHERE 列名 LIKE '_字符'; 或是 SELECT 列名 FROM 表名 WHERE 列名 LIKE '字符_'; 或是 SELECT 列名 FROM 表名 WHERE 列名 LIKE '_字符_';

语法举例(以 字母A为例):

'_A_' 代表三位且中间字母是A的。 '_A' 代表两位且结尾字母是A的。 'A_' 代表两位且开头字母是A的。 中括号([ ])通配符

用途与百分号(%)和下划线(_)一样。

注意:不是所有数据管理软件都支持中括号([ ])通配符,例如MySQL不支持。

语法

SELECT 列名 FROM 表名 WHERE 列名 LIKE '[字符]%'; 或是 SELECT 列名 FROM 表名 WHERE 列名 LIKE '[字符]_'; 或是 SELECT 列名 FROM 表名 WHERE 列名 LIKE '%[字符]%'; 或是 SELECT 列名 FROM 表名 WHERE 列名 LIKE '_[字符]_'; 或是 SELECT 列名 FROM 表名 WHERE 列名 LIKE '%[字符]_'; 等等

语法举例:

1、从 city 表中搜索name列中以'A' 或 'L'或 'N' 开头的:

SELECT name FROM city WHERE name LIKE '[ALN]%';

2、从 city 表中搜索name列中不以'A' 或 'L'或 'N' 开头的:

SELECT name FROM city WHERE name LIKE '[!ALN]%';

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3