轻松上手,快乐学习!

SQL 通配符


SQL 通配符

通配符用于替换字符串中的一个或多个字符。 通配符与SQL LIKE运算符一起使用。LIKE运算符在WHERE子句中用于搜索列中的指定模式。

MS Access中的通配符

符号 描述
* 表示零个或多个字符 bl *找到bl,black,blue和blob
表示单个字符 找不到热,帽子和打击
[] 表示括号内的任何单个字符 发现热和帽子,但没有发现
表示括号内没有的任何字符 h [!oa] t发现击中,但不是热和帽子
- 表示一系列字符 c [ab] t找到cat和cbt
表示任何单个数字字符 2#5找到205,215,225,235,245,255,265,275,285和295

SQL Server中的通配符

符号 描述
表示零个或多个字符 bl%找到bl,black,blue和blob
_ 表示单个字符 h_t找到hot,hat和hit
[] 表示括号内的任何单个字符 发现热和帽子,但没有发现
^ 表示括号内没有的任何字符 h [^ oa] t找到命中,但不是热和帽子
- 表示一系列字符 c [ab] t找到cat和cbt
所有通配符也可以组合使用! 以下示例显示了具有'%'和'_'通配符的不同LIKE运算符:
喜欢运营商 描述
WHERE CustomerName LIKE'a%' 查找以“a”开头的任何值
WHERE CustomerName LIKE'%a' 查找以“a”结尾的任何值
WHERE CustomerName LIKE'%or%' 查找在任何位置具有“或”的任何值
WHERE CustomerName LIKE'_r%' 查找在第二个位置具有“r”的任何值
WHERE CustomerName LIKE'a _%_%' 查找以“a”开头并且长度至少为3个字符的任何值
在哪里ContactName LIKE'a%o' 查找以“a”开头并以“o”结尾的任何值

演示数据库

以下是Northwind示例数据库中“Customers”表的选择:
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constituciуn 2222 Mйxico D.F. 05021 Mexico
3 Antonio Moreno Taquerнa Antonio Moreno Mataderos 2312 Mйxico D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkцp Christina Berglund Berguvsvдgen 8 Luleе S-958 22 Sweden

使用 % 通配符

以下SQL语句选择城市以“ber”开头的所有客户:

实例

SELECT * FROM Customers
WHERE City LIKE 'ber%';
运行实例»
以下SQL语句选择具有包含“es”的City的所有客户:

实例

SELECT * FROM Customers
WHERE City LIKE '%es%';
运行实例»

使用 _ 通配符

以下SQL语句选择所有具有以任何字符开头的City的客户,后跟“ondon”:

实例

SELECT * FROM Customers
WHERE City LIKE '_ondon';
运行实例»
以下SQL语句选择城市以“L”开头的所有客户,跟任何字符,跟“n”,跟任何字符,最后跟“on”:

实例

SELECT * FROM Customers
WHERE City LIKE 'L_n_on';
运行实例»

使用 [charlist] 通配符

以下SQL语句选择城市以“b”,“s”或“p”开头的所有客户:

实例

SELECT * FROM Customers
WHERE City LIKE '[bsp]%';
运行实例»
以下SQL语句选择城市以“a”,“b”或“c”开头的所有客户:

实例

SELECT * FROM Customers
WHERE City LIKE '[a-c]%';
运行实例»

使用[!charlist]通配符

以下两个SQL语句选择城市不以“b”,“s”或“p”开头的所有客户:

实例

SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';
运行实例»
要么:

实例

SELECT * FROM Customers
WHERE City NOT LIKE '[bsp]%';
运行实例»