LIKE
使用通配符进行文本模糊匹配。
简介
LIKE 使用模式匹配文本:% 代表任意长度字符串,_ 代表单个字符。需要匹配通配符本身时应结合数据库的转义规则。是否区分大小写取决于字符集和排序规则,以通配符开头的模式还可能难以使用普通索引。
基础语法
SELECT * FROM orders WHERE name LIKE 'A%';
示例
LIKE 示例
用 A% 查找 name 以字母 A 开头的订单记录。
示例数据表
表名:
orders| id | customer_id | product_id | name | department | amount | status | created_at | discount |
|---|---|---|---|---|---|---|---|---|
| 1 | 101 | 201 | Alice | Sales | 1200 | paid | 2026-01-03 | 0 |
| 2 | 102 | 202 | Bob | IT | 900 | pending | 2026-01-08 | 50 |
| 3 | 101 | 201 | Cindy | Sales | 1500 | paid | 2026-02-02 | 100 |
| 4 | 104 | 203 | David | HR | 700 | cancelled | 2026-02-15 | 0 |
运行结果
| id | customer_id | product_id | name | department | amount | status | created_at | discount |
|---|---|---|---|---|---|---|---|---|
| 1 | 101 | 201 | Alice | Sales | 1200 | paid | 2026-01-03 | 0 |
常见问题
LIKE 中 % 和 _ 有什么区别?
% 匹配任意长度字符串,_ 只匹配一个字符。
LIKE 默认区分大小写吗?
取决于数据库和排序规则,不能假定所有环境行为一致。
LIKE 以 % 开头会影响索引吗?
常见 B-tree 索引通常难以用于前导通配符搜索,大表上需要特别评估。
标签
这篇内容是否清楚?
感谢反馈,我们会把它用于后续内容复核。