SQL 通配符
sql通配符是使用用特殊字元或语法拼写,用来执行模糊搜寻指令的语句功能。在搜寻资料库中的数据时,SQL 通配符可以替代一个或多个字元。SQL 通配符必须与 LIKE 运算符一起使用。如在数据中搜寻以大写“A”字母开头的字元类型数据,可以使用like "A%"。
基本介绍
- 中文名:通配符
- 外文名:SQL 通配符
正文
SQL 通配符
在搜寻资料库中的数据时,SQL 通配符可以替代一个或多个字元。
SQL 通配符必须与 LIKE 运算符一起使用。
在 SQL 中,可使用以下通配符:
通配符 | 描述 |
---|---|
% | 替代0个或多个字元 |
_ | 仅替代一个字元 |
[charlist] | 字元列中的任何单一字元 |
[^charlist] 或者 [!charlist] | 不在字元列中的任何单一字元 |
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
原始的表
(用在例子中的)
Persons 表:
使用方法
1. 使用 % 通配符
例子 1
现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE City LIKE 'Ne%'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | New York |
例子 2
接下来,我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE City LIKE '%lond%'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2. 使用 _ 通配符
例子 1
现在,我们希望从上面的 "Persons" 表中选取名字的第一个字元之后是 "eorge" 的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE FirstName LIKE '_eorge'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | New York |
例子 2
接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字元,然后是 "r",然后是任意字元,然后是 "er":
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE LastName LIKE 'C_r_er'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
3 | Carter | Thomas | Changan Street | Beijing |
3. 使用 [charlist] 通配符
例子 1
现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE City LIKE '[ALN]%'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
例子 2
现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE City LIKE '[!ALN]%'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
3 | Carter | Thomas | Changan Street | Beijing |
使用
例子 1
现在,我们希望从上面的 "Persons" 表中选取名字的第一个字元之后是 "eorge" 的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE FirstName LIKE '_eorge'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | New York |
例子 2
接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字元,然后是 "r",然后是任意字元,然后是 "er":
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE LastName LIKE 'C_r_er'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
3 | Carter | Thomas | Changan Street | Beijing |
通配符
例子 1
现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM PersonsWHERE City LIKE '[ALN]%'结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |