SQL LIKE操作符
SQL LIKE操作符
LIKE操作符在WHERE子句中使用,用于搜索列中的指定模式。
有两个通配符经常与LIKE操作符一起使用:
- 百分号(
%)代表零、一或多个字符 - 下划线符号(
_)代表一个单一的字符
注意:MS Access使用星号(
*)代替百分号(%),使用问号(?)代替下划线(_)。
百分号和下划线也可以组合使用!
LIKE 语法
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
提示:你也可以使用
AND或OR运算符来组合任何数量条件。
下面是一些例子,说明不同的LIKE操作符与’%’和’_’通配符。
| LIKE 操作符 | 说明 |
|---|---|
| WHERE CustomerName LIKE ‘a%’ | 查询任何以a开头的CustomerName |
| WHERE CustomerName LIKE ‘%a’ | 查找任何以a结尾的CustomerName |
| WHERE CustomerName LIKE ‘%or%’ | 查找在任何位置上有or的CustomerName |
| WHERE CustomerName LIKE ‘_r%’ | 查找任何在第二位置有r的CustomerName |
| WHERE CustomerName LIKE ‘a_%’ | 查找任何以a开头且长度至少为2个字符的CustomerName |
| WHERE CustomerName LIKE ‘a__%’ | 查找任何以 a 开头且长度至少为3个字符的CustomerName |
| WHERE ContactName LIKE ‘a%o’ | 查找任何以 a 开头,以 o 结尾的CustomerName |
SQL LIKE 示例
下面的SQL语句选择所有CustomerName以 a 开头的客户。
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
输出:

下面的SQL语句选择所有CustomerName以 a 结尾的客户。
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
输出:

下面的SQL语句选择所有在任何位置有 or 的CustomerName的客户。
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
输出:

下面的SQL语句选择所有CustomerName在第二位置有 r 的客户。
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
输出:

下面的SQL语句选择所有CustomerName以 a 开头且长度至少为3个字符的客户。
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
输出:

下面的SQL语句选择所有ContactName以 a 开头,以 o 结尾的客户。
SELECT * FROM Customers
WHERE ContactName LIKE 'a%o';
输出:

下面的SQL语句选择所有CustomerName不是以 a 开头的客户。
SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'a%';
输出:

极客笔记