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
相关推荐
starzy199011 小时前
Spark 核心之自定义累加器以及版本对比变化深度剖析
大数据·ajax·spark
TELL52113 小时前
帮我生成对应的sql 以及数据库-deepseek提示词
数据库·sql
用户36105886261215 小时前
Spark 核心之 Spark-SortShufflebypass 原理深度剖析
大数据·spark
今天AI了吗16 小时前
从 LLM 到 Agent Skill:把 AI 底层概念串起来
数据库·人工智能·sql·深度学习·神经网络·算法·机器学习
陈卿诺语16 小时前
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
sql·mysql·adb
步行cgn17 小时前
MyBatis 动态 SQL 完全指南
sql·tomcat·mybatis
starzy199018 小时前
Spark 核心之二次排序、分组取 TopN 优化分析
大数据·分布式·spark
Csvn1 天前
📊 SQL 入门 Day 18:索引原理
后端·sql
DBA小马哥1 天前
关系型数据库核心概念手册:SQL、事务与存储引擎的技术脉络
数据库·sql
灯澜忆梦1 天前
【MySQL12】进阶篇 | SQL优化
数据库·sql·mysql·性能优化