展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 数据库 > SQL模糊匹配查询:LIKE通配符使用规则与注意事项

SQL模糊匹配查询:LIKE通配符使用规则与注意事项

SQLPro
SQLPro

SQLPro 是一款macOS平台上数据库管理应用,避免使用非法,享受更全面的支持和更新。它更贴近日常 macOS 使用场景,处理高频操作时整体会更顺手一些。

¥119
macOS 2026-09-24
正版软件 macOS软件 数据库管理工具 macOS
立即下载

详细讲解SQL中LIKE模糊匹配的核心通配符使用规则、转义字符处理、与精确匹配的差异,以及索引失效场景与优化注意事项。

本文目录

    在SQL中进行数据检索时,精确匹配(例如 =)只能找到完全一致的文本。为了查找包含特定字符、具备固定格式或前后缀已知的数据,SQL提供了 LIKE 操作符与通配符机制。本文将讲解百分号 % 与下划线 _ 的使用规则、特殊字符的转义技巧,并通过对比与索引分析,说明在生产环境中编写高效模糊查询的注意事项。

    一、LIKE模糊查询的基础原理与匹配流程

    LIKE 是SQL中专用于字符串模式匹配的谓词。其工作机制是将目标字段中的文本与指定的模式字符串进行逐字符比对。如果字段中的字符序列符合通配符定义的排布规则,表达式即返回真值(TRUE),对应行被包含在查询结果集中。

    为了理解查询引擎如何处理一个模式,我们可以通过匹配流程直观地看到字符比对的判定链条:

    SQL模糊匹配查询:LIKE通配符使用规则与注意事项
    图1:SQL LIKE 模式匹配的执行判断步骤

    二、两大核心通配符的使用规则

    标准SQL为 LIKE 定义了两个核心通配符:百分号(%)和下划线(_)。它们在字符数量界定和位置约束上有严格区别。

    1. 百分号(%):匹配任意个字符

    % 代表零个、一个或多个连续的任意字符。它不对匹配的字符长度做任何限制。

    • 前缀匹配('abc%'):匹配以 "abc" 开头的字符串,如 "abc"、"abcd"、"abc-123"。
    • 后缀匹配('%xyz'):匹配以 "xyz" 结尾的字符串,如 "xyz"、"123xyz"。
    • 包含匹配('%test%'):匹配任何包含 "test" 的字符串,位置不限。

    2. 下划线(_):匹配恰好一个字符

    _ 代表一个且仅一个任意字符。下划线所处的位置必须有字符存在,且必须完全对齐数量。两个连续的下划线 __ 则表示恰好匹配两个字符。

    SQL模糊匹配查询:LIKE通配符使用规则与注意事项
    图2:% 与 _ 在长度约束与匹配灵活性上的核心特征对比

    3. 实际语法示例

    假设存在一张员工信息表 employees,包含字段 emp_name 与 phone:

    -- 示例1:查询所有以 "张" 开头的员工姓名(姓张且名长度不限)
    SELECT emp_name, phone 
    FROM employees 
    WHERE emp_name LIKE '张%';
    
    -- 示例2:查询所有姓 "张" 且全名正好为两个字的员工姓名
    SELECT emp_name, phone 
    FROM employees 
    WHERE emp_name LIKE '张_';
    
    -- 示例3:查询手机号以 "138" 开头、后跟任意8位数字的记录
    SELECT emp_name, phone 
    FROM employees 
    WHERE phone LIKE '138________';

    三、两种查询方式的差异:精确匹配与模糊匹配

    在SQL查询设计中,开发者常面临选择 = 还是 LIKE。在相同的数据集和查询目标下,两者的执行机制和设计目标存在显著差异:

    对比维度 等值操作符 (=) 模糊操作符 (LIKE)
    匹配机制 严格全值比对,要求整个字符序列完全一致。 逐模式解析比对,根据通配符展开动态比对。
    尾部空格处理 在部分数据库(如MySQL默认排序规则)中可能忽略尾部空格。 严格计算字符本身与空格,空格也是被匹配的实体字符。
    索引利用效率 总是可以通过B+树索引进行高效等值查找(O(log N))。 仅在前缀匹配(如 'abc%')时使用索引;首字符为通配符时失效。
    意图与性能开销 用于精准查单行或明确集合,CPU计算成本低。 用于检索部分线索,需要逐行进行模式比较,CPU开销较高。

    这种差异之所以重要,是因为滥用 LIKE 代替 = 会导致数据库优化器在规划执行路径时采取保守策略。如果明确已知完整字符串,应始终优先使用 =。

    四、转义处理:如何匹配真正的“%”和“_”字符?

    当查询的内容本身包含百分号或下划线时(例如查找折扣字符串 '20%' 或文件命名 'order_01.csv'),直接写入 LIKE '%20%%' 会导致解析混乱。

    解决方式是通过 ESCAPE 关键字定义转义字符。任何跟随在转义字符后面的 % 或 _ 都会被视为普通字符。

    -- 示例:查找折扣字段中包含字面量 "20%" 的商品记录
    -- 使用斜杠 '/' 作为自定义转义字符
    SELECT product_id, discount_label 
    FROM products 
    WHERE discount_label LIKE '%20/%%' ESCAPE '/';
    
    -- 示例:查找订单编号以 "ORD_" 开头的单据
    SELECT order_no 
    FROM orders 
    WHERE order_no LIKE 'ORD/_%' ESCAPE '/';
    转义字符注意事项
    虽然许多系统默认支持反斜杠 \ 作为转义字符,但在不同数据库(如 PostgreSQL 的标准模式、SQL Server、Oracle)中,默认转义行为有所不同。显式使用 ESCAPE '/' 声明转义符是最具跨数据库移植性的安全写法。

    五、LIKE 查询的索引生效与失效机制

    在生产环境中,使用 LIKE 最容易导致系统告警的问题就是全表扫描(Full Table Scan)。

    关系型数据库大多使用 B+树 作为普通列索引的数据结构。B+树索引是按照键值的从左到右严格排序的。因此,索引查找必须依赖已知的前缀。如果模式字符串以通配符开头,B+树将无法确定起步搜索分支,只能逐页读取整张表的所有数据。

    SQL模糊匹配查询:LIKE通配符使用规则与注意事项
    图3:前缀固定与左侧通配符对B+树索引调用的不同影响

    六、生产环境使用注意事项与优化清单

    为了避免因为模糊匹配带来性能隐患或业务逻辑异常,在编写 SQL 语句时需要遵循以下准则:

    1. 谨防左侧模糊查询:形如 LIKE '%keyword' 或 LIKE '%keyword%' 的查询会导致索引失效。当数据量达到数十万乃至数百万级别时,容易造成磁盘I/O飙升。对于高频的大文本搜索,应改用专用全文检索引擎(如 Elasticsearch)或数据库内置全文索引(如 MySQL Fulltext Index)。
    2. 注意 NULL 值的排他性:如果字段值为 NULL,无论是 LIKE '%' 还是 NOT LIKE '%',其判断结果均为 UNKNOWN,不会被选入结果集。若需要包含空值记录,必须显式加上 OR col_name IS NULL。
    3. 大小写敏感性规则:LIKE 是否区分大小写取决于数据库类型及字段的排序规则(Collation)。例如,MySQL 默认的 utf8mb4_general_ci(ci = Case Insensitive)不区分大小写,而 Oracle 或 PostgreSQL 默认严格区分大小写(PostgreSQL 可使用 ILIKE 执行不敏感查询)。
    4. 巧用反向索引解决后缀匹配:如果业务需求固定为匹配后缀(例如查找所有 '.org' 结尾的域名),可以新增一个存储反转字符串的列并建立索引。查询时将输入条件反转为 LIKE 'gro.%',从而把不可命中索引的后缀查询转换为前缀查询。
    SQL模糊匹配查询:LIKE通配符使用规则与注意事项
    图4:LIKE 通配符检索规则与生产规范全景总结

    掌握通配符的长度属性、规范使用 ESCAPE 转义,并在编写查询条件时刻意保留固定的前缀常量,是保证 SQL 模糊查询兼顾灵活性与查询性能的关键基石。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    数据库 SQL
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    Beamer 4 macOS版
    Beamer 4 macOS版

    Beamer 4是面向macOS的本地视频投屏工具,可将Mac中的影片投放到Apple TV、Chromecast及兼容设备,支持常见格式、多类字幕、环绕声、播放列表和电视遥控操作。

    Boom 3D macOS版
    Boom 3D macOS版

    Boom 3D macOS版是一款系统级音效增强工具,可为音乐、电影、游戏和流媒体提供3D虚拟环绕声、31段均衡器、音量增强及应用独立音量控制,并支持本地播放器与多种音频输出设备。

    Boris FX macOS版
    Boris FX macOS版

    Boris FX macOS版是一套面向剪辑、合成、调色及动态图形工作的专业后期工具,涵盖视觉特效、平面与三维跟踪、转描、画面修复、粒子动画和音频清理,可配合多种主流宿主软件使用。

    Capto macOS版
    Capto macOS版

    Capto 是面向 macOS 的屏幕截图、高清录屏与媒体编辑工具,支持区域及整屏捕获、网页长截图、双音轨处理、图片和视频标注、素材分类与多渠道分享,适合教师、学生、内容创作者及需要制作演示教程的用户。

    ChemDraw macOS版
    ChemDraw macOS版

    ChemDraw macOS版是一款面向化学学习、科研和制药工作的专业结构绘图工具,可创建分子、反应及生物聚合物图形,并提供结构整理、格式转换和科研成果展示能力。

    Cursor Crane macOS版
    Cursor Crane macOS版

    Cursor Crane 是一款仅面向 macOS 的键盘操控效率工具,可通过提示标签、网格、文字查找和窗口模式完成点击、滚动、定位与切换,并支持屏幕内容提取、脚本及工作流扩展。

    Deep Freeze 冰点还原 macOS版
    Deep Freeze 冰点还原 macOS版

    Deep Freeze 冰点还原 macOS版通过冻结系统配置,让受保护的Mac在重新启动后回到预设状态,并提供解冻空间、维护计划、密码保护及Apple Remote Desktop管理能力。

    Focusky macOS版
    Focusky macOS版

    Focusky macOS版是一款面向教学课件、商务汇报、产品展示和动画宣传内容的演示制作工具。它通过无限画布、路径编排、缩放旋转转场及多媒体编辑,将传统逐页幻灯片转化为更具空间感的动态演示。

    Folder Colorizer 2 macOS版
    Folder Colorizer 2 macOS版

    Folder Colorizer 2 macOS版是一款直观的文件夹外观定制工具,可更换颜色,添加表情、贴纸及图片背景,并支持批量处理、智能推荐和恢复默认样式,帮助用户更快辨认工作、学习与生活资料。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。

    AlwaysUp Windows版
    AlwaysUp Windows版

    AlwaysUp是一款面向Windows的系统服务注册与程序托管工具,可让普通应用、脚本及批处理在无人登录时随系统启动,并通过状态检测、异常重启、资源监控和邮件通知保障关键任务持续运行。

    AnyDesk Windows版
    AnyDesk Windows版

    AnyDesk Windows版是一款轻量化远程桌面与技术支持工具,可用于控制异地电脑、传输文件、远程打印及无人值守访问。它兼顾连接响应、安全权限和部署灵活性,适合个人远程办公、企业设备维护与客服支持。

    Boom 3D Windows版
    Boom 3D Windows版

    Boom 3D Windows版是一款面向音乐、电影和游戏场景的系统级音效增强工具,支持虚拟3D环绕声、31段均衡器、预设音效、应用音量控制及本地音乐播放,可配合耳机、扬声器和蓝牙耳机使用。

    Boris FX Windows版
    Boris FX Windows版

    Boris FX Windows版是一套服务于影视剪辑、视觉特效、运动跟踪、转描、图像修饰及音频修复的专业创作工具集合,可作为插件接入多种主流后期宿主,也包含可独立运行的应用,适合剪辑师、特效师与内容创作者使用。

    ChemDraw Windows版
    ChemDraw Windows版

    ChemDraw Windows版是一款面向化学研究、药物研发、材料科学和教学工作的专业结构绘图工具,可快速绘制分子、反应式及生物聚合物,并提供结构整理、格式转换、性质计算和科研文档协作能力。

    CODESOFT Windows版
    CODESOFT Windows版

    CODESOFT Windows版是一套企业级条码与RFID标签设计打印工具,可连接Excel、Access、SQL及云端数据源,支持变量、表单、GS1条码、数据库记录和多种工业打印机,适合制造、仓储、物流及合规标识场景。

    Deep Freeze 冰点还原 Windows版
    Deep Freeze 冰点还原 Windows版

    Deep Freeze 冰点还原 Windows版通过重启恢复技术保护系统盘及指定分区,自动撤销恶意程序、误操作和配置漂移造成的改动,并支持密码保护、解冻空间与多硬盘管理,适合学校机房、公共电脑、办公终端及家庭电脑使用。

    EDIUS Windows版
    EDIUS Windows版

    EDIUS 11 Windows版是一款面向影视制作、广播电视、纪录片、短视频及教育机构的专业非线性编辑工具,支持4K/8K、多格式混编、HDR调色、字幕、音频处理和后台渲染,并提供素材管理及丰富的导出预设。

    FastStone Capture Windows版
    FastStone Capture Windows版

    FastStone Capture Windows版是一款轻量级屏幕捕捉、录屏与图像编辑工具,可截取窗口、区域、菜单和滚动页面,并提供标注、模糊、取色、OCR、录音录像及多格式导出能力,适合办公说明、教程制作和问题反馈。

    Focusky Windows版
    Focusky Windows版

    Focusky Windows版是一款动画演示与交互课件制作工具,通过无限画布、缩放旋转镜头、模板素材和对象动画组织内容,可导入PPTX,并输出视频、EXE、PDF、网页等格式,适用于课堂教学、微课、商务汇报及产品展示。

    即将离开本站
    您即将前往第三方网站,请确认是否继续?