SQL;一列转多行的使用 --正则表达式的使用
2014-03-20 10:20
411 查看
需求:1
policyno(保单号)列:
0210130626000335001565/0211130626000332002226/0211130626000332002227/0211130626000332002227/0211130626000332002229/0211130626000332002210
这是由多个保单号组成:需要整理成多行:
policyno
0210130626000335001565
0211130626000332002226
0211130626000332002227
0211130626000332002227
0211130626000332002229
0211130626000332002210
如图显示:
需求2:
如图将author列,按'',''号拆分,然后统计author的个数:
结果:
policyno(保单号)列:
0210130626000335001565/0211130626000332002226/0211130626000332002227/0211130626000332002227/0211130626000332002229/0211130626000332002210
这是由多个保单号组成:需要整理成多行:
policyno
0210130626000335001565
0211130626000332002226
0211130626000332002227
0211130626000332002227
0211130626000332002229
0211130626000332002210
select regexp_substr(a.policyno, '[^/| |;|£»|¡¢|£¬|\]+', 1, level) policyno1, a.* from ods_complain a CONNECT BY PRIOR ROWID = ROWID AND PRIOR DBMS_RANDOM.RANDOM IS NOT NULL -- AND LEVEL <= REGEXP_COUNT(a.policyno, '[/| |;|£»|¡¢|£¬|\]') + 1 AND LEVEL <=(length(policyno) - length(replace(policyno, '/', '')) + 1)
如图显示:
需求2:
如图将author列,按'',''号拆分,然后统计author的个数:
结果:
相关文章推荐
- sql语句中使用正则表达式
- 在SQL使用正则表达式
- 在 Visual Studio 或 SQLServer Management Studio 的代码编辑器中使用正则表达式匹配日期格式
- 分别使用函数及游标实现SQL多行转一列
- T_SQL中使用正则表达式匹配查询结果
- Oracle SQL使用笛卡尔连接、正则表达式和层次查询、union all、unpiovt 解决多列值筛选、列转行问题
- [MSSQL]正则表达式在数据库编程中使用,其实真的不懂SQL了
- SQL 正则表达式使用
- 正则表达式单行、多行模式简介(使用说明)
- 分别使用函数及游标实现SQL多行转一列
- 在Sql语句中使用正则表达式来查找你所要的字符
- [MSSQL]正则表达式在数据库编程中使用,其实真的不懂SQL了
- SQL 2005使用正则表达式
- 在T-SQL中使用正则表达式函数
- ORACLE中使用SQL的正则表达式判断邮箱格式
- 如何在SQL语句中使用正则表达式
- 使用UE 正则表达式 查找siebel log文件 sql耗时较长的语句
- SQL 2005使用正则表达式
- 正则表达式单行、多行模式简介(使用说明)
- vfp dbf正则表达式函数,可在vfp的sql使用