我们使用 SQL LIKE
运算符与 WHERE 子句一起,以获取匹配给定字符串模式的结果集。
示例
-- select customers who live in the UK
SELECT first_name
FROM Customers
WHERE country LIKE 'UK';
这里,SQL 命令选择 country 为 UK 的客户的姓氏。
SQL LIKE 语法
SELECT column1, column2, ...
FROM table
WHERE column LIKE value;
这里,
column1,column2, ...
是要从中选择数据的列table
是表的名称。column
是我们要应用过滤器的列LIKE
将column
与value
进行匹配value
是您希望在指定column
中匹配的模式
示例:SQL LIKE
-- select customers who live in the UK
SELECT *
FROM Customers
WHERE country LIKE 'UK';
这里,SQL 命令选择 country 为 UK 的客户。

注意:尽管在本例中 LIKE
运算符的行为与 =
运算符相似,但它们并不相同。=
运算符用于检查相等性,而 LIKE
运算符仅用于匹配字符串模式。
SQL LIKE 与通配符
%
通配符SQL LIKE
查询通常与 %
通配符一起使用,以匹配字符串模式。例如,
-- select customers whose
-- last name starts with R
SELECT *
FROM Customers
WHERE last_name LIKE 'R%';
这里,%
是一个通配符。因此,SQL 命令选择 last_name 以 R 开头,后面跟着零个或多个字符的客户。

_
通配符我们可以与 LIKE
一起使用更多的通配符。
让我们看一个使用 _
通配符的示例。
-- select customers whose
-- country names start with U
-- followed by a single character
SELECT *
FROM Customers
WHERE country LIKE 'U_';
这里,SQL 命令选择 country 名称以 U 开头,后面跟着一个字符的客户。
SQL NOT LIKE 运算符
我们还可以通过与 LIKE
运算符一起使用 NOT
运算符来反转其工作方式。这将返回不匹配给定字符串模式的结果集。
语法
SELECT column1, column2, ...
FROM table_name
WHERE column NOT LIKE value;
这里,
column1,column2, ...
是要从中选择数据的列table_name
是表的名称column
是我们要应用过滤器的列NOT LIKE
忽略column
与value
的匹配value
是您不希望在指定column
中匹配的模式
例如,
-- select customers who don't live in the USA
SELECT *
FROM Customers
WHERE country NOT LIKE 'USA';
这里,SQL 命令选择所有客户,除了 country 为 USA 的客户。
SQL LIKE 与多个值
我们可以使用 LIKE
运算符与 OR 运算符一起使用多个字符串模式。例如,
-- select customers whose last_name starts with R and ends with t
-- or customers whose last_name ends with e
SELECT *
FROM Customers
WHERE last_name LIKE 'R%t' OR last_name LIKE '%e';
这里,SQL 命令选择 last_name 以 R 开头并以 t 结尾的客户,或者 last_name 以 e 结尾的客户。
另请阅读