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
相关推荐
猫的玖月几秒前
(一)MY SQL概述
数据库·sql
\xin1 小时前
pikachu自编SQL(POST)
java·数据库·sql
DolphinScheduler社区4 小时前
DolphinScheduler 3.3.2 如何调用 DataX 3.0 + SeaTunnel 2.3.12?附 Demo演示!
java·spark·apache·海豚调度·大数据工作流调度
Leo.yuan6 小时前
数据仓库是什么?数据仓库和大数据平台、数据湖、数据中台、湖仓一体有什么区别?
大数据·数据仓库·spark
@小柯555m7 小时前
MySql(高级操作符--高级操作符练习(1))
数据库·sql·mysql
码农阿豪7 小时前
Python 操作金仓数据库的完全指南(下篇):SQL执行、批量操作与扩展功能
数据库·python·sql
heiqizero7 小时前
Spark RDD动作算子
spark
DBdoctor官方7 小时前
DBdoctor v3.3.5.2发布:新增GoldenDB分布式纳管
数据库·sql·polardb·dbdoctor·goldendb
@小柯555m8 小时前
MySql(基础操作符--用where过滤空值练习)
数据库·sql·mysql
鸽芷咕8 小时前
KingbaseES数据库设计规范与SQL开发最佳实践
数据库·sql·设计规范