当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


SQL LIKE用法及代码示例


SQL LIKE 运算符与使用WHERE 子句在列中搜索指定模式。 LIKE 运算符查找并返回符合给定模式的行。

LIKE 运算符是不区分大小写大多数数据库系统默认情况下。这意味着,如果您使用 LIKE 运算符搜索 “apple”,它将返回包含 “Apple”、“APPLE”、“aPpLe” 等的结果。

为了使 LIKE 运算符区分大小写,您可以使用“MySQL 中的 BINARY”关键字或其他数据库系统中的 “COLLATE” 关键字

例如

SELECT * FROM products WHERE name LIKE BINARY 'apple%'

以下查询将仅返回名称以 “apple” 开头且拼写完全一样的产品,不带大写字母。

用法

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

LIKE 运算符通配符

通配符与 LIKE 运算符一起使用来搜索字符串中的特定模式。通配符替换字符串中的一个或多个字符。 SQL中有四个通配符:

  1. %(百分比):代表零个或多个字符。
  2. _(下划线):代表单个字符。
  3. [](方括号):代表括号内的任何单个字符。
  4. -(连字符):指定括号内的字符范围。

通配符示例

下表显示了一些有关如何编写通配符及其含义的示例:

图案意义
'A%'匹配以‘a’开头的字符串
'%A'匹配以 ‘a’ 结尾的字符串
'在'匹配包含以 ‘a’ 开头并以 ‘t’ 结尾的字符串。
'%哇%'匹配任意位置包含子字符串‘wow’的字符串。
'_哇%'匹配第二个位置包含子字符串‘wow’的字符串。
'_A%'匹配第二个位置包含‘a’的字符串。
'A_ _%'匹配以“a”开头且至少包含 2 个以上字符的字符串。

Demo SQL 数据库

在本关于 SQL LIKE 运算符的教程中,我们将在示例中使用下表。

供应商表

SupplierID名字地址
S1模范供应商21-3, 奥克拉, Delhi
S2芒果国度21,法里达巴德,哈里亚纳邦
S3加拿大商业6/7, 奥克拉二期, Delhi
S4商队商人2-A, 皮坦普拉, Delhi
S5哈里什父子古尔冈, NCR
S6欧姆供应商2/1, 法里达巴德, 哈里亚纳邦

要在您的系统上创建此表,请编写以下 SQL 查询:

CREATE TABLE Supplier (
    SupplierID CHAR(2) PRIMARY KEY,
    Name VARCHAR(50),
    Address VARCHAR(100)
);
INSERT INTO Supplier (SupplierID, Name, Address)
VALUES
    ('S1', 'Paragon Suppliers', '21-3, Okhla, Delhi'),
    ('S2', 'Mango Nation', '21, Faridabad, Haryana'),
    ('S3', 'Canadian Biz', '6/7, Okhla Phase II, Delhi'),
    ('S4', 'Caravan Traders', '2-A, Pitampura, Delhi'),
    ('S5', 'Harish and Sons', 'Gurgaon, NCR'),
    ('S6', 'Om Suppliers', '2/1, Faridabad, Haryana');

SQL LIKE E示例

让我们看一下 SQL 中 LIKE 运算符的一些示例,并了解它的工作原理。

示例 1

从供应商表中检索供应商 ID、名称和地址,其中供应商名称以 k 开头。

SELECT SupplierID, Name, Address
FROM Suppliers
WHERE Name LIKE 'Ca%';

输出:

S3加拿大商业6/7, 奥克拉二期, Delhi
S4商队商人2-A, 皮坦普拉, Delhi

示例 2

检索整个表,其中地址包含 OKHLA。

SELECT *
FROM Suppliers
WHERE Address LIKE '%Okhla%';

输出:

S1模范供应商21-3, 奥克拉, Delhi
S3加拿大商业6/7, 奥克拉二期, Delhi

实施例3

检索名称中第二个子字符串中包含“ango”的供应商的供应商ID、名称和地址。

SELECT SupplierID, Name, Address
FROM Suppliers
WHERE Name LIKE '_ango%';

输出:

S2芒果国度21,法里达巴德,哈里亚纳邦

SQL LIKE 应用程序

LIKE 运算符在地址过滤等情况下非常足智多谋,在这种情况下,我们只知道整个地址的一部分或一部分(例如位置或城市),并希望基于此检索结果。可以根据要求巧妙地利用通配符来生成更好、过滤程度更高的元组。

关于 LIKE 运算符的要点

  • LIKE operator is used to search for specific patterns in a column.
  • It is mostly used with WHERE clause for finding or filtering specific data.
  • Like Operator is case-insensitive by default, to make it case sensitive, we can use BINARY keyword.
  • LIKE operator has 4 wild cards, which we can use with LIKE operator to specify the filter. The wild cards are: %,_,[] and -.


相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 SQL LIKE Operator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。