温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL怎么模糊匹配字段

发布时间:2026-10-10 17:57:08 来源:亿速云 阅读:101 作者:小樊 栏目:编程语言

在 SQL 中,模糊匹配字段通常使用 LIKE 关键字,配合通配符来实现。


一、基本语法

SELECT * FROM 表名
WHERE 字段名 LIKE '匹配模式';

二、常用通配符

通配符 含义
% 匹配任意长度(包括 0 个字符)
_ 匹配任意单个字符

三、常见用法示例

1️⃣ 包含某个字符(最常用)

查找 name 中包含 "张" 的记录:

SELECT * FROM user
WHERE name LIKE '%张%';

2️⃣ 以某个字符开头

查找 name 以 "李" 开头的记录:

SELECT * FROM user
WHERE name LIKE '李%';

3️⃣ 以某个字符结尾

查找 name 以 "明" 结尾:

SELECT * FROM user
WHERE name LIKE '%明';

4️⃣ 固定长度模糊

查找第二个字是 "小" 的名字(如:王小X):

SELECT * FROM user
WHERE name LIKE '_小%';

四、转义特殊字符

如果字段中本身包含 % 或 _,需要转义:

SELECT * FROM user
WHERE name LIKE '%50\%%' ESCAPE '\';

五、不区分大小写(取决于数据库)

  • MySQL:LIKE 默认不区分大小写
  • PostgreSQL / Oracle:区分大小写

✅ 不区分大小写写法(通用):

SELECT * FROM user
WHERE LOWER(name) LIKE '%abc%';

六、更强大的模糊匹配(正则)

MySQL

SELECT * FROM user
WHERE name REGEXP '^张';

PostgreSQL

SELECT * FROM user
WHERE name ~ '张';

七、性能提示

⚠️ LIKE '%xx%' 无法使用索引,大表慎用
✅ 如果只用前缀匹配('xx%'),可走索引


如果你有具体数据库(MySQL / Oracle / SQL Server)或业务场景,我可以给你更合适的写法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手