在 SQL 中,模糊匹配字段通常使用 LIKE 关键字,配合通配符来实现。
SELECT * FROM 表名
WHERE 字段名 LIKE '匹配模式';
| 通配符 | 含义 |
|---|---|
% |
匹配任意长度(包括 0 个字符) |
_ |
匹配任意单个字符 |
查找 name 中包含 "张" 的记录:
SELECT * FROM user
WHERE name LIKE '%张%';
查找 name 以 "李" 开头的记录:
SELECT * FROM user
WHERE name LIKE '李%';
查找 name 以 "明" 结尾:
SELECT * FROM user
WHERE name LIKE '%明';
查找第二个字是 "小" 的名字(如:王小X):
SELECT * FROM user
WHERE name LIKE '_小%';
如果字段中本身包含 % 或 _,需要转义:
SELECT * FROM user
WHERE name LIKE '%50\%%' ESCAPE '\';
LIKE 默认不区分大小写✅ 不区分大小写写法(通用):
SELECT * FROM user
WHERE LOWER(name) LIKE '%abc%';
SELECT * FROM user
WHERE name REGEXP '^张';
SELECT * FROM user
WHERE name ~ '张';
⚠️ LIKE '%xx%' 无法使用索引,大表慎用
✅ 如果只用前缀匹配('xx%'),可走索引
如果你有具体数据库(MySQL / Oracle / SQL Server)或业务场景,我可以给你更合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。