尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

21、LIKE 子句详解

21、LIKE 子句详解
📅 发布时间:2026/6/21 9:53:38

1、LIKE 子句

用于进行字符串模糊匹配的操作符,通常与通配符配合在 WHERE 子句中使用。

通过指定匹配规则来筛选符合条件的数据记录。

语法:  

SELECT 列名 FROM 表名 WHERE 列名 LIKE '模式';
  • %:匹配任意长度的字符序列(包括空序列),如 LIKE 'N%' 可筛选以 N 开头的字符串   前缀匹配

  • _:匹配任意单个字符,如 LIKE '_am' 可以匹配 "Tam"、"Mam" 等,精确位置匹配

  • [] :用于匹配指定范围内的单个字符,例如 LIKE '[A-C]%' 会匹配以 A、B 或 C 开头的字符串

例子:

使用 % 通配符

-- 匹配以 'John' 开头的所有名字
SELECT * FROM users WHERE name LIKE 'John%';
-- 匹配: John, Johnny, Johnson
-- 不匹配: MrJohn, ajohn-- 匹配以 'son' 结尾的所有名字
SELECT * FROM users WHERE name LIKE '%son';
-- 匹配: Johnson, Jackson, Wilson
-- 不匹配: sonny, Andersonx-- 匹配包含 'admin' 的所有字符串
SELECT * FROM users WHERE role LIKE '%admin%';
-- 匹配: admin, administrator, sysadmin, admin_user-- 匹配以 'A' 开头,以 'Z' 结尾的字符串
SELECT * FROM products WHERE name LIKE 'A%Z';
-- 匹配: AMAZ, A123Z, AQuickZ
-- 不匹配: AZB, A Z, A_-- 匹配包含 'data' 且以 'base' 结尾
SELECT * FROM systems WHERE name LIKE '%data%base';
-- 匹配: database, mydatabase, databasenamebase

使用 _ 通配符

-- 匹配正好5个字符的名字
SELECT * FROM users WHERE name LIKE '_____';
-- 匹配: Alice, Bob12, User1
-- 不匹配: Al, Bob, User123-- 匹配第二个字符是 'o' 的所有名字
SELECT * FROM users WHERE name LIKE '_o%';
-- 匹配: John, Robert, coding
-- 不匹配: Bob, admin, root-- 匹配第一个字符任意,后面是 'at' 的所有单词
SELECT * FROM words WHERE word LIKE '_at';
-- 匹配: cat, bat, hat, rat
-- 不匹配: at, chat, batch-- 复杂的模式匹配
SELECT * FROM products WHERE code LIKE 'A_B_C%';
-- 匹配: A1B2C3, AxByCzProduct, A-B-C-D
-- 不匹配: ABC, A_B_C, A1C2B3

复杂模式匹配

-- 匹配以 'user' 开头,后面跟一个数字,然后任意字符
SELECT * FROM accounts WHERE username LIKE 'user_%';
-- 匹配: user1, user2admin, user_test
-- 不匹配: user, users, adminuser1-- 匹配包含数字的电子邮件
SELECT * FROM users WHERE email LIKE '%[0-9]%@%';
-- 匹配: user123@gmail.com, john2023@company.com
-- 不匹配: john@gmail.com, admin@test.org-- 匹配特定格式的电话号码
SELECT * FROM contacts WHERE phone LIKE '+1-___-___-____';
-- 匹配: +1-123-456-7890, +1-555-123-4567
-- 不匹配: 123-456-7890, +1-12-345-6789-- 匹配文件扩展名
SELECT * FROM files WHERE filename LIKE '%.pdf' OR filename LIKE '%.doc%';
-- 匹配: document.pdf, manual.doc, guide.docx
-- 不匹配: image.png, data.txt

2、NOT LIKE 字句

排除特定模式

-- 排除所有以 'test' 开头的用户
SELECT * FROM users WHERE username NOT LIKE 'test%';-- 排除包含 'admin' 的角色
SELECT * FROM users WHERE role NOT LIKE '%admin%';-- 排除单个字符的缩写
SELECT * FROM products WHERE code NOT LIKE '_';-- 排除临时文件(以 ~ 或 .tmp 结尾)
SELECT * FROM documents WHERE filename NOT LIKE '%~' AND filename NOT LIKE '%.tmp';-- 复杂的排除逻辑
SELECT * FROM logs 
WHERE message NOT LIKE '%ERROR%' AND message NOT LIKE '%FAILED%'AND message NOT LIKE '%CRITICAL%';

 

 
 
 

本文来自博客园,作者:chao_xiong,转载请注明原文链接:https://www.cnblogs.com/chao-xiong/p/19237598

相关新闻

  • 2025年国内锯床公司权威排名榜单:成都鸿远机械有限公司排名首位
  • 2025成都留学机构十大排名
  • show 语法

最新新闻

  • 江门市黄金首饰回收正规门店推荐,附各区回收网点联系方式 - 千叶啊
  • 固原市黄金回收实体店怎么选?这份清单帮你货比三家 - 千叶啊
  • Ubuntu 13.10 下 Hadoop 2.7.7 源码编译与伪分布式部署实战
  • Java EE断层与Jakarta EE云原生演进实战指南
  • Gemini API实战指南:CLI、RAG与Agentic生产级落地
  • XHS-Downloader终极指南:三步搞定小红书无水印批量下载的完整解决方案

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号