SUBSTRING_INDEX 函数介绍

目录

SUBSTRING_INDEX 是 spark sql 中一个非常实用的字符串处理函数,用于根据指定的分隔符截取字符串的部分内容。

函数语法

sql 复制代码
SUBSTRING_INDEX(str, delim, count)

参数说明

str:要处理的原始字符串

delim:分隔符(可以是单个字符或多个字符)

count:指定截取的位置:

正数:从左往右截取,返回第 count 个分隔符之前的内容

负数:从右往左截取,返回第 |count| 个分隔符之后的内容

零:返回空字符串

当计数超出范围时,返回本身;当分隔符不存在,返回本身。

示例

示例1

sql 复制代码
 SELECT 
  url,
  SUBSTRING_INDEX(url, '.', 1) AS domain,
  SUBSTRING_INDEX(url, '.', 2) AS domain1,
  SUBSTRING_INDEX(SUBSTRING_INDEX(url, '.', -2), '.', 1) AS name,
  SUBSTRING_INDEX(url, '.', -1) AS tld
FROM (
  SELECT 'www.mysql.com' AS url
) t;
powershell 复制代码
结果如下:
url            domain     domain1       name   tld
www.mysql.com   www      www.mysql     mysql  com  

示例2

sql 复制代码
SELECT 
  path,
  SUBSTRING_INDEX(path, '/', -1) AS filename,
  SUBSTRING_INDEX(path, '/', 2) AS directory,
  SUBSTRING_INDEX(path, '/', 5) AS directory1,
  SUBSTRING_INDEX(path, '*', 2) AS directory2
FROM (
  SELECT '/home/user/documents/file.txt' AS path
) t;
powershell 复制代码
结果如下:  
path                               filename        directory            directory1       directory2                                             
/home/user/documents/file.txt       file.txt     /home     /home/user/documents/file.txt  /home/user/documents/file.txt
相关推荐
姜太小白1 小时前
【Oracle】记排查sh脚本调用SQL执行卡顿的排查总结
数据库·sql·oracle
镜舟科技3 小时前
为什么 Text-to-SQL 总是停在 Demo?
数据库·sql·demo·text-to-sql·镜舟科技·mip·语义视图
大牧师4 小时前
TypeORM 学习教程
数据库·sql·学习·node.js·orm·nest.js·typeorm
数智启示录6 小时前
PostgreSQL 执行计划实战(第 9 篇):SQL 和索引没变,计划为什么突然慢一百倍
数据库·经验分享·sql·postgresql·面试
润乾软件7 小时前
SQLazy:从事件表中查出下一组的开始时刻
sql·sqlazy
BYSJMG7 小时前
大数据毕业设计选题推荐:基于大数据的全球气温历史演变分析与可视化,用Hadoop+Spark处理
大数据·hadoop·分布式·信息可视化·spark·kmeans·课程设计
养生技术人8 小时前
Oracle OCP认证考试题目详解082系列第17题
运维·数据库·sql·oracle·ocp
IT研究室8 小时前
最新大数据毕业设计选题推荐-基于大数据的水质多指标关联分析与可视化的设计与实现-大数据-Spark-Hadoop-Bigdata
大数据·spark·课程设计
隔窗听雨眠9 小时前
活动中台系统慢SQL治理实践:从监控告警到性能优化的全链路方法论
sql·性能优化·github
数智启示录1 天前
PostgreSQL 计划缓存实战(第 10 篇):预编译 SQL 前五次都快,第六次为什么可能变慢
经验分享·sql·缓存·postgresql·面试