通配符用于替换字符串中的任何其他字符。 

通配符与SQL LIKE运算符一起使用。在WHERE子句中使用LIKE运算符来搜索列中的指定模式。 

有两个通配符与LIKE运算符一起使用:

  • ​​ - 百分号表示零个,一个或多个字符

  • _​​ - 下划线表示单个字符

注意: MS Access使用问号(​​)而不是下划线(_​​)。

在MS Access和SQL Server中,你也可以使用:

  • [ charlist ] - 定义要匹配的字符的集合和范围

  • [^ charlist ]或[!charlist ] - 定义不匹配字符的集合和范围

通配符也可以组合使用!

下面是一些使用'​​'和'_​​'通配符显示不同LIKE运算符的例子:


LIKE运算符

描述

WHERE 地址 LIKE 'a%'

查找以“a”开头的任何值

WHERE 地址 LIKE '%a'

查找以"a"结尾的任何值

WHERE 地址 LIKE '%or%'

在任何位置查找任何具有“or”的值

WHERE 地址 LIKE '_r%'

在第二个位置查找任何具有“r”的值

WHERE 地址 LIKE 'a_%_%'

查找以“a”开头并且长度至少为3个字符的值

WHERE 地址 LIKE 'a%o'

查找以“a”开始并以“o”结尾的任何值


演示数据库

以下是"Customers" 表中的数据:

SQL基础知识普及(十)——通配符_sql语句

  • 使用 SQL ​% ​通配符

以下SQL语句选择所有客户地址以字母“北”开头:

实例

SELECT * FROM Customers
WHERE 地址 LIKE '北%';

以下SQL语句选择地址中包含“路”模式的所有客户:

实例

SELECT * FROM Customers
WHERE 地址 LIKE '%路%';


  • 使用 SQL ​_​ 通配符

以下SQL语句选择省份以任意字符开头,然后是“东省”的所有客户:

实例

SELECT * FROM Customers
WHERE 省份 LIKE '_东省';

以下SQL语句选择地址开头为“北”,后面是任意字符,后面是“路”,后面是两个任意字符,后面是“号”的所有客户:

实例

SELECT * FROM Customers
WHERE 地址 LIKE '北_路__号';


  • 使用 SQL ​[​字符列表​]​ 通配符

以下SQL语句选择所有客户地址以"西"、"南"或"北"开头:

实例

SELECT * FROM Customers
WHERE 地址 LIKE '[西南北]%';

以下SQL语句选择所有客户地址不以"西"、"南"或"北"开头:

实例

SELECT * FROM Customers
WHERE 地址 LIKE '[!西南北]%';

  • 使用​[!​字符列表​]​通配符

以下两个SQL语句选择所有客户的地址不以“西”,“南”或“北”开头:

代码示例:

SELECT * FROM Customers 
WHERE 地址 LIKE '[!西南北]%';

要么:

代码示例

SELECT * FROM Customers 
WHERE 地址 NOT LIKE '[西南北]%';

SQL基础知识普及(十)——通配符_运算符_02



长按识别二维码关注我们!