SQL Wildcard 通配符

LIKE 子句里替代字符的特殊符号。

两个主要通配符

通配符含义
%匹配 0 个或多个任意字符
_匹配恰好 1 个任意字符

SELECT * FROM logs WHERE message LIKE '%error%';     -- 包含 error 的
SELECT * FROM users WHERE email LIKE '_lice@%';      -- 第 2-5 位是 lice 的邮箱
SELECT * FROM ips WHERE address LIKE '192.168.%';    -- 网段

注意

  • 大量使用 LIKE '%xxx%' 会很慢 —— 索引用不上,全表扫描
  • 配合 ESCAPE 关键字可以转义 %_ 本身

filtering 模糊匹配的主力工具。