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
相关推荐
Rick19931 天前
SQL 执行流程
数据库·sql
Y001112361 天前
MySQL-进阶
开发语言·数据库·sql·mysql
talen_hx2961 天前
《零基础入门Spark》学习笔记 Day 13
笔记·学习·spark
升职佳兴1 天前
告别套娃式子查询:SQL WITH 语句(CTE)深度实战指南
数据库·sql
流觞 无依1 天前
DedeCMS plus/vote.php SQL注入漏洞修复教程
sql·php
zml.~1 天前
基于 Spark 的新能源汽车大数据分析全流程实践
数据分析·spark·汽车
小小程序员.¥1 天前
oracle--plsql块、存储过程、存储函数
数据库·sql·oracle
玛卡巴卡ldf1 天前
【Springboot7】ApachePOI文件导入导出
java·spring boot·sql
不会写DN1 天前
SQL 单表操作全解
java·服务器·开发语言·数据库·sql
Leon-Ning Liu1 天前
Oracle 26ai新特性:SQL Firewall(SQL 防火墙)的使用方法
数据库·sql·oracle