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]%';
运行实例»