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%';
输出: