SQL like使用 模糊查询
模糊查询:
参考资料:http://www.w3school.com.cn/sql/sql_wildcards.asp
在搜索数据库中的数据时,您能够使用 SQL 通配符。
SQL 通配符 Like
在搜索数据库中的数据时,SQL 通配符能够替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。
在 SQL 中,可使用下面通配符:
通配符 | 描写叙述 |
---|---|
% | 替代一个或多个字符 |
_ | 仅替代一个字符 |
[charlist] | 字符列中的不论什么单一字符 |
[^charlist] 或者 [!charlist] |
不在字符列中的不论什么单一字符 |
原始的表 (用在样例中的):
Persons 表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
使用 % 通配符
样例 1
如今。我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 開始的城市里的人:
我们能够使用以下的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE 'Ne%'
结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | New York |
样例 2
接下来,我们希望从 "Persons" 表中选取居住在包括 "lond" 的城市里的人:
我们能够使用以下的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '%lond%'
结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
使用 _ 通配符
样例 1
如今,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:
我们能够使用以下的 SELECT 语句:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | New York |
样例 2
接下来。我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头。然后是一个随意字符,然后是 "r",然后是随意字符。然后是 "er":
我们能够使用以下的 SELECT 语句:
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'
结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
3 | Carter | Thomas | Changan Street | Beijing |
使用 [charlist] 通配符
样例 1
如今,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
我们能够使用以下的 SELECT 语句:
SELECT * FROM Persons WHERE 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 Persons WHERE City LIKE '[!ALN]%'
结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
3 | Carter | Thomas | Changan Street | Beijing |