SQL 通配符是与 LIKE 运算符一起使用的特殊字符,用于在SQL查询中匹配模式。它们在查询数据库时特别有用,例如在模糊搜索的场景中。
SQL 通配符必须与 LIKE 运算符一起使用。
在 SQL 中,常用的通配符:
通配符 | 描述 |
---|---|
% | 代表0个或多个字符 |
_ | 仅替代一个字符 |
[] | 方括号,用于匹配指定范围内的任意单个字符或属于特定集合的字符,例如:[abc],匹配 a、b、或者c |
[^] 或者[!] | 用于匹配不在指定范围内的字符,例如:[^abc],非a、b、c字符 |
表示0个、一个或多个字符。适用于需要匹配任意长度字符的场景。
例如:查询首字母是 “李” 的学生:
SELECT * FROM student WHERE name LIKE "李%"
表示单个字符。用于精确匹配某个位置的单个字符。
例如:查询首字母是 “李”,且名称只有两位字符的学生:
SELECT * FROM student WHERE name LIKE "李_"
用于指定一个字符范围或字符集。它会匹配指定范围内的任何单一字符。
例如,查询所有以 "A"、"B" 或 "C" 开头的用户名:
SELECT * FROM users
WHERE username LIKE “[A-C]%”;
在方括号内使用连字符 - 来定义字符范围。如示例中,A-C 表示 A、B、C 三个字符。
表示字符集之外的字符,即匹配不在指定范围内的字符。
例如,查询所有 code 字段值不以字母 "A"、"B" 或 "C" 开头的记录:
SELECT * FROM products
WHERE code LIKE “[^A-C]%”;