‘one,two,three,four,five,six,seven,eight,nine,zero‘as source_string

from dual),-- 统计字符串中子串的个数,用 ‘,‘来划分子串

T2 as(

select regexp_count(source_string,‘[^,]+‘) as source_substring_count

from T1),--根据子串的个数创建索引列,用于给T4的regexp_substr()方法索引

T3 as(

select rownum as row_number

from dual, T2

connect by rownum<=T2.source_substring_count),--根据每个索引值逐个截取字符串

T4 as(

select T3.row_number as substring_index,

regexp_substr(T1.source_string,‘[^,]+‘, 1, T3.row_number) as substring

from T1, T3)

select substring_index, substring from T4;

鉴于 regexp_count() 方法是 Oracle 11g 才新加上的,之前的版本并没有,这里再用另一种方法来统计子串的个数:

--创建需要划分的字符串

with T1 as(

select‘one,two,three,four,five,six,seven,eight,nine,zero‘as source_string

from dual),--统计字符串中子串的个数-- 字符串中‘,‘字符用‘‘代替后,其减少的长度自然就是原串中‘,‘字符的个数

T2 as(

select length(T1.source_string)- length(replace(T1.source_string, ‘,‘, ‘‘)) + 1as source_substring_count

from T1),--根据子串的个数创建索引列,用于给T4的regexp_substr()方法索引

T3 as(

select rownum as row_number

from dual, T2

connect by rownum<=T2.source_substring_count),--根据每个索引值逐个截取字符串

T4 as(

select T3.row_number as substring_index,

regexp_substr(T1.source_string,‘[^,]+‘, 1, T3.row_number) as substring

from T1, T3)

select substring_index, substring from T4;

看见的一个博主写的,正好自己能用,先记下,同时感谢这位博主

原链接:http://flforever1213.iteye.com/blog/1026096

Oracle 实现拆分列数据的split()方法

标签:one   connect   实现   --   截取字符串   count()   截取   rownum   nec

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:http://www.cnblogs.com/jianguang/p/6445156.html

oracle中有类似split的方法么,Oracle 实现拆分列数据的split()方法相关推荐

  1. 机器学习数据倾斜的解决方法_机器学习并不总是解决数据问题的方法

    机器学习数据倾斜的解决方法 总览 (Overview) I was given a large dataset of files, what some would like to call big d ...

  2. oracle中有类似split的方法么,ORACLE中字符串split的一种方法

    一种方法是用函数:这里转帖网上摘抄的一个函数 CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000); CREATE OR REPLA ...

  3. phpExcel列数据自动换行的方法

    //文本 $str= '文本1'. chr(10) .'文本2'; //写入单元格数据 objPHPExcel−>getActiveSheet()−>setCellValue(′A1′,o ...

  4. 【python】pandas某一列中每一行拆分成多行的方法

    在处理数据过程中,常会遇到将一条数据拆分成多条,比如一个人的地址信息中,可能有多条地址,既有家庭地址也有工作地址,还有电话信息等等类似的情况,实际使用数据的时候又需要分开处理,这个时候就需要将这一条数 ...

  5. pandas某一列中每一行拆分成多行的方法

    在处理数据过程中,常会遇到将一条数据拆分成多条,比如一个人的地址信息中,可能有多条地址,既有家庭地址也有工作地址,还有电话信息等等类似的情况,实际使用数据的时候又需要分开处理,这个时候就需要将这一条数 ...

  6. 亚马逊训练alexa的方法_Alexa对话是AI驱动的对话界面新方法

    亚马逊训练alexa的方法 介绍 (Introduction) Looking at the chatbot development tools and environments currently ...

  7. [office软件教程] Excel怎么排序数据?Excel数据排序的方法

    转载请说明来源于"厦门SEO" 本文地址:http://www.96096.cc/Article/160971.html office软件教程 Excel表格是每个公司人员在工作当 ...

  8. 4.2数据探索(一) - 数据探索的方法

    简介 数据探索是在具有较为良好的样本后,对样本数据进行解释性的分析工作,它是数据挖掘较为前期的部分.数据探索并不需要应用过多的模型算法,相反,它更偏重于定义数据的本质.描述数据的形态特征并解释数据的相 ...

  9. oracle中执行动态sql语句吗,oracle中有没有可动态执行sql语句的函数

    oracle中有没有可动态执行sql语句的函数 关注:233  答案:2  手机版 解决时间 2021-03-05 15:53 提问者祗剩寂寞 2021-03-04 22:38 oracle中有没有可 ...

最新文章

  1. 调试Tomcat源码
  2. JBL无所不能与IPhone4、IPad2的完美盛宴
  3. 网络***技术开篇——SQL Injection
  4. Apache Shiro Architecture--官方文档
  5. JAVA数据库连接的另一种实现及简单的数据插入及显示
  6. python之路_前端基础之Bootstrap 组件
  7. EMNLP 2021-多模态Transformer真的多模态了吗?论多模态Transformer对跨模态的影响
  8. 赠书5本包邮:数据思维实践、Cloud Native分布式架构原理与实践
  9. 3年了,我依旧单身,而微信小程序已经普及了
  10. SQL Server调优系列基础篇(常用运算符总结)
  11. excel 电阻并联计算_25套电气计算软件加24个电气计算表格,从此电气计算不求人!...
  12. Hive grouping sets 多维度交叉清洗数据
  13. 无线路由器网络安全设置的九种方法
  14. springboot系列(二十七):如何实现word携带图片导出?这你得会|超级详细,建议收藏
  15. 线程、进程和协成对比
  16. 多个视频如何合成一个视频?
  17. 泪目:我看不清你的脸,可我知道你在守护我平安
  18. 本地计算机 上的 OracleOraDb11g_home1TNSListener 服务启动后停止故障解决办法
  19. 虚拟内存,分页与分段的区别、页面置换算法,颠簸,局部性原理
  20. KEIL 5 的点灯

热门文章

  1. 聚焦北京,探秘多媒体开发新趋势(内附资料下载)
  2. Golang 性能优化实战
  3. 腾讯技术直播间 | 零代码打造智能对话机器人
  4. 实践篇 | 推荐系统之矩阵分解模型
  5. Linux下axel多线程下载
  6. nginx https http2
  7. raft算法动画演示
  8. leetcode 435. Non-overlapping Intervals | 435. 无重叠区间(单调栈)
  9. leetcode 292. Nim Game | 292. Nim 游戏(DP->数学推理)
  10. 多线程与高并发(九):单机压测工具JMH,单机最快MQ - Disruptor原理解析