SQL 截取函数

目录

1、substring

2、left

3、right

4、substring_index


1、substring

用途:字段截取从指定开始的字符开始,截取要的数;指定开始的字符数字可以用负的,指定开始的字符从后往前(向左)数,截取要的数不能为负。

语法格式:substring(field,n,m)

中文注释:substring(字段,从第n位开始,从n开始截取m位)

用法:

sql 复制代码
#从第1位开始截取,往后(向右)截取5位
SELECT SUBSTRING('12345678', 1, 5) AS A from dual;
#输出 '12345'

#从第2位开始截取,往后(向右)截取5位
SELECT SUBSTRING('12345678', 1, 5) AS A from dual;
#输出 '23456'
sql 复制代码
#-2是从倒数第2位开始,往后(向右)截取5位,后面不够5位,有多少就截多少
SELECT SUBSTRING('12345678', -2, 5) AS A from dual;
#输出 '78'

#-4是从倒数第1位开始,往后(向右)截取3位,后面不够5位,有多少就截多少
SELECT SUBSTRING('12345678', -4, 3) AS A from dual;
#输出 '567'

2、left

用途:从字段左边开始截取向后(向右)指定数的字符。

语法格式:left(field,n)

中文注释:left(字段,从左开始截取到第n位)

用法:

sql 复制代码
#从左开始,截取2位
SELECT LEFT('12345678',2) A FROM dual
#输出'12'


#从左开始,截取4位
SELECT LEFT('12345678',4) A FROM dual
#输出'1234'

3、right

用途:从字段右边开始截取向前(向左)指定数的字符。

语法格式:left(feld,n)

中文注释:left(字段,从右边开始截取到第n位)

用法:

sql 复制代码
#从右开始,向前(向左)截取3位
SELECT right('12345678', 3) AS A from dual;
#输出'678'

#从右开始,向前(向左)截取5位
SELECT right('12345678', 5) AS A from dual;
#输出'45678'

4、substring_index

用途:从指定分隔符出现的次数,开始截取向后(向右)所有的字符;负数就向前(向左)截取所有的字符。

语法格式:substring_index(feld,str,count)

中文注释:substring_index(字段,指定分隔符,截取指定分隔符出现第count次之后的所有字符)

用法:

sql 复制代码
#从左往右数指定分隔符 . 出现1次的地方,开始截取向后(向左)所有字符
SELECT substring_index('12345678.sd111.sa.51wf','.',1) AS A from dual;
#输出'12345678'

#从左往右数指定分隔符 . 出现3次的地方,开始截取向后(向左)所有字符
SELECT substring_index('12345678.sd111.sa.51wf','.',3) AS A from dual;
#输出'12345678.sd111.sa'
sql 复制代码
#从右往左数指定分隔符 . 出现1次的地方,开始截取向后(向左)所有字符
SELECT substring_index('12345678.sd111.sa.51wf','.',-1) AS A from dual;
#输出'51wf'

#从右往左数指定分隔符 . 出现3次的地方,开始截取向后(向左)所有字符
SELECT substring_index('12345678.sd111.sa.51wf','.',-3) AS A from dual;
#输出'sd111.sa.51wf'
相关推荐
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
小白男神4 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
漂着的圆木4 天前
Agent 功能参与度:Copilot 怎么算
sql·数据分析·agent·githubcopilot·度量
此冬歌咏4 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
kybs19914 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net