深入解析:SQL 字符串函数高频考点:LIKE 和 SUBSTRING 的区别

news/2025/9/25 20:09:38/文章来源:https://www.cnblogs.com/yxysuanfa/p/19111914

在 SQL 面试和日常开发中,字符串处理是很常见的考点。特别是 LIKE 和 SUBSTRING,两者看似都能“截取/匹配字符串”,但本质作用完全不同。很多同学在面试时容易混淆,今天我们就来彻底搞清楚它们的区别与用法。

1. LIKE 的作用

LIKE 是一种 模式匹配(Pattern Matching)操作,用来判断某个字符串是否符合特定规则。

常用的通配符有:

● %:匹配任意长度的字符(包括空字符串)。

● _:匹配单个字符。

示例:

-- 查找姓名以 'A' 开头的用户

SELECT * FROM users

WHERE name LIKE 'A%';

-- 查找姓名包含 'Tom' 的用户

SELECT * FROM users

WHERE name LIKE '%Tom%';

-- 查找姓名为三位,且第二位是 'o' 的用户

SELECT * FROM users

WHERE name LIKE '_o%';

否满足某种模式,不会改变原始字符串。就是 总结:LIKE 只判断字符串

2. SUBSTRING 的作用

SUBSTRING 是一种 截取函数,用于从字符串中提取指定位置的子串。

语法:

SUBSTRING(string, start, length)

● string:要截取的字符串。

● start:起始位置(从 1 开始)。

● length:可选,表示截取的长度。

示例:

-- 截取 'HelloWorld' 的前 5 个字符

SELECT SUBSTRING('HelloWorld', 1, 5);

-- 结果:Hello

-- 从第 6 位开始截取后面的所有字符

SELECT SUBSTRING('HelloWorld', 6);

-- 结果:World

总结:SUBSTRING 是直接返回子串,而不是匹配。

3. LIKE 和 SUBSTRING 的区别

很多同学会把 LIKE 和 SUBSTRING 混为一谈,面试时记住下面三点就能秒答:

1. 能力不同

● LIKE:用来 匹配字符串模式,返回布尔判断(是否符合条件)。

● SUBSTRING:用来 截取子串,返回实际的字符串。

2. 结果不同

● LIKE 的结果是 TRUE / FALSE(匹配成功与否)。

● SUBSTRING 的结果是 具体的子字符串。

3. 应用场景不同

● LIKE 常用于 模糊查询(如搜索)。

● SUBSTRING 常用于 字符串处理(如提取日期中的年、月)。

4. 面试高频难题

Q1:什么时候用 LIKE,什么时候用 SUBSTRING?

否包含某个模式,用 LIKE。就是如果你只想判断字符串

如果你得拿到字符串的某一部分,用 SUBSTRING。

Q2:能不能用 SUBSTRING 达成 LIKE 的功能?

字符串处理函数。就是严格来说不行。SUBSTRING 只能截取,而 LIKE 献出了通配符匹配,是 查询条件,不

Q3:性能上有什么差异?

LIKE '%xxx' 在没有索引优化时可能会导致全表扫描。

字符串截取操控。就是SUBSTRING 性能开销很小,本质

5. 总结

LIKE:字符串模式匹配,常用于模糊查询,返回布尔值。

SUBSTRING:字符串截取函数,常用于数据清洗或拆分,返回子串。

面试回答要点:一个用于条件判断,一个用于字符串处理,两者不能互换。

假如你正在准备 SQL 面试,行把这一类“高频考点函数”整理成一套 速查笔记,比如 COUNT vs COUNT(列)、LIKE vs IN、IS NULL vs = NULL 等,都经常被面试官拿来考察。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第四篇

今天是9月25号,今天又不发工资,烦死了,不写了。

六安市裕安区建设局网站北京建设信源资讯网站官网

一、粒子 Unity中的粒子组件叫做Particle System。 粒子系统顾名思义,与“微粒”有关。粒子系统会生成和发射很多粒子,通过控制粒子的生成数量、大小、角度、速度、贴图和颜色等众多属性,可以实现或真实或炫酷的各种效果。其中,…

PyTorch图神经网络(六)

PyTorch图神经网络(六) ​ 第十章讲的是使用图神经网络来预测链接,这里直接跳过传统方法。 1.VGAE ​ VGAE是通过编码器-解码器的形式来对链接进行预测。通过VGAE对节点的特征进行编码,然后通过GCN层来聚合相邻节点…

Etcd详解:Kubernetes的大脑与记忆库 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

数智化术中导航:Holoscan + IGX的“边缘实时低时延”管线工艺分析(上)

数智化术中导航:Holoscan + IGX的“边缘实时低时延”管线工艺分析(上)2025-09-25 19:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: a…

Qwen多模态系列模型笔记—Qwen-VL

Qwen-VL论文笔记 摘要 在这项工作中,我们介绍Qwen-VL系列,一组旨在感知和理解文本与图像的大规模视觉语言模型。从Qwen-LM这个基础大语言模型出发,我们通过如下四条精心设计,赋予了其视觉能力: (1)视觉编码器;…

慕课网站开发与实现网站提交百度了经常修改网站

状态提升(Lifting-state-up) 把子组件的状态,提升到上级组件中,从而实现在多个组件之间共享和同步数据的效果 以 flutter counter demo,那个按按钮1 的来说,现在的 count 是几,不是存在页面显…

关键词整站排名优化在线下载免费软件的网站

1、检测注入点是否可用python sqlmap.py -u "url"2、从目标url爆破所有数据库名python sqlmap.py -u "url" --dbs3、从目标url爆破当前数据库名python sqlmap.py -u "url" --current-dbs4、列出数据库所有用户python sqlmap.py -u "url&quo…

go 语法里变量前面增加、*区别

在 Go 语言中,& 和 * 是与指针相关的两个重要操作符,它们的作用如下: 简单理解:a为变量,&a获取指针地址 a为指针,*a获取值& 操作符作用:获取变量的内存地址(取地址操作符) 用法:&variable 返…

MFC List 控件详解:高效材料展示与管理

MFC List 控件详解:高效材料展示与管理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

历程回顾-(2024-2025)

其实我刚写了一版本了,但是博客园他对于笔记不会随时留档,全没了。 605天的入职时间,经历精彩纷呈,值得总结与交代。 业务周期分成三个阶段,入职五个月+中间一年+结尾三个月。分别是总览->细化->试验,周期…

CF Round 1053(2150 2151) 总结

CF Round 1053(2150 & 2151) 总结 Div2 A 若存在 \(a_i\ge a_i+1\) 那么只出现一次,否则出现 \(n-a_m+1\) 次。 A 我们不能每次从头开始走,考虑怎么利用上一轮的信息。 假设我们要求第 \(k\) 轮的终点,由于第 \…

做投票网站教程应用软件有哪些

效果图 思路: 1. 高亮的色块是独立的一个盒子,需要插入当前激活的内容用来撑开色块盒子的宽度,这样色块的宽度就会和当前激活的内容宽度一致,色块的字体颜色设置透明即可 2. 色块滑动的距离是读当前激活元素的offsetLeft&#x…

帮人盖章网站备案授权书秦皇岛市海港区建设局网站

趣 问 万 物来源:把科学带回家撰文:Mirror如何分离糖和盐?图源:Pixabay小手一抖,不小心把糖(蔗糖)和盐(氯化钠)混在一块儿了该怎么办?趁着光棍节,就让我们吃饱了撑着研究研究把糖和盐拆散的N种方…

20250922_QQ_backdoor

流量分析, 应急响应, WebShell, 哥斯拉, Godzilla, 空白字符隐写, AES, DASCTFTags:流量分析,应急响应,WebShell,哥斯拉,Godzilla,空白字符隐写,AES,DASCTF 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMY…

实用指南:【Java八股文】13-中间件面试篇

实用指南:【Java八股文】13-中间件面试篇pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

AT_agc012_d [AGC012D] Colorful Balls

考虑到可操作的两个球连边,同一个连通块一定能任意交换,方案数是好算的,现在我们需要优化这个建边的过程。 首先,对于同色球,先只考虑最小值和其他球连边,这样一定最优,然后,对于异色球,我们选最小值,非最小…

网站建设套路毕节市交通建设集团网站

可以用,现在很多本地生活商家,都会通过借助批量剪辑工具来提升视频的曝光量,从而带动店铺的客流量。 推荐本地生活商家使用超级编导批量剪辑工具,这是一款0基础小白也可以很快上手的批量剪辑工具,剪辑页面布局以及功能…

销售网站html源码淮南市官网

运用 Transformers 库来完成翻译任务。翻译是典型的序列到序列 (sequence-to-sequence, Seq2Seq) 任务,即对于每一个输入序列都会输出一个对应的序列。翻译在任务形式上与许多其他任务很接近,例如: 文本摘要 (Summarization):将长…

02、Python从入门到癫狂:函数与资料容器

02、Python从入门到癫狂:函数与资料容器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…