首页 > 数据库技术 > 详细

oracle 字符串 正则表达式 拆分,排序,合并

时间:2019-02-13 11:20:37      阅读:252      评论:0      收藏:0      [点我收藏+]

需求,表数据如:要求圈中的数据,必须根据线芯有序排列。

技术分享图片

思路: 1、首先根据分号分隔元素。oracle 很蛋疼,没有提供字符串分隔函数,网上倒是多觉得有点麻烦,耐着性子继续网上找了下,还真让我找到一篇博客,那已是年前了。今天找了一片还没找到。

      如:避免了oracle 的定义参数类型,字符串分隔函数。

      技术分享图片

        2、元素排序这个大家都懂。

  3、合并,这个用的是 wm_concat 函数,11g后才有 

最终效果:

 

  技术分享图片

      技术分享图片

 

 

sql:

SELECT
    wm_concat(core_idf || ‘;‘)
FROM
    (
        SELECT
            core_idf
        FROM
            (
                SELECT
                    regexp_substr(‘红:6.28,;黄:5.30,;蓝:2.30,;‘, ‘[^;]+‘, 1, ROWNUM) AS core_idf
                FROM
                    dual
                CONNECT BY
                    ROWNUM <= length(regexp_replace(‘红:6.28,;黄:5.30,;蓝:2.30,;‘, ‘[^;]‘, NULL))
            ) temp
        ORDER BY
            core_idf
    );

 

oracle 字符串 正则表达式 拆分,排序,合并

原文:https://www.cnblogs.com/kunsyliu/p/10368709.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!