Oracle 实现拆分列数据的split()方法
来源:互联网 发布:javascript获取日期 编辑:程序博客网 时间:2024/05/29 19:51
Oracle 实现拆分列数据的split()方法
Sql代码
- -- 创建需要划分的字符串
- with T1 as(
- select '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 才新加上的,之前的版本并没有,这里再用另一种方法来统计子串的个数:
Sql代码
- -- 创建需要划分的字符串
- 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, ',', '')) + 1
- 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;
运行结果:
运行结果:
阅读全文
0 0
- Oracle 实现拆分列数据的split()方法
- Oracle 实现拆分列数据的split()方法
- MSSQL 拆分逗号隔开的数据 Split方法.
- Oracle 数据列值拆分
- oracle 拆分逗号分隔字符串 实现split
- oracle 拆分逗号分隔字符串 实现split
- oracle拆分逗号分隔字符串 实现split
- oracle拆分逗号分隔字符串 实现split
- oracle拆分逗号分隔字符串 实现split
- oracle拆分逗号分隔字符串 实现split
- Oracle split函数拆分
- Android中字符串的拆分split方法
- Android中字符串的拆分---split()方法
- split()方法字符串拆分
- split方法拆分字符串
- sql实现split方法,带拆分结果排序
- 字符串的拆分split
- Oracle 模仿split拆分函数
- 自动化测试工具TestWriter使用时遇到的脚本录制问题及解决方法
- Spark开发-spark运行原理和RDD
- input file 限制可以选择的文件
- 设置工具类不可实例化
- 基础中需要注意的
- Oracle 实现拆分列数据的split()方法
- 移植 Nginx+PHP(FastCGI) 到 ARM Linux (二)
- Perf4j的使用
- 计算机网络——关于TCP/IP的三次握手
- static关键字----主函数解析
- file stat
- JavaScript如何将一个数字转化为2进制
- Python:Tkinter-Toplevel window
- 集合map、泛型