<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Hopes

    Start Here..

     

    轉 Oracle對表的數據拆分和合并


    Oracle對表的數據拆分和合并


    在日常數據庫操作中,我們經常對數據進行拆分和合并,下面讓我們來看看如何實現。

    假設有表TEMP_TABLE(ID, NAME, CODE),數據如下:
    [sql]
    select t.* from temp_table t;
    ID NAME CODE www.2cto.com
    1 A 10
    2 B 20
    3 C 30
    4 A 40
    5 A 50
    6 A|B|C 60

    我們將NAME=A的數據合并,使用Oracle函數WM_CONCAT(),SQL及結果如下:
    [sql]
    select t.name,to_char(wm_concat(t.code))
    from temp_table t
    where name='A'
    group by t.name;
    NAME CODE

    A 10,40,50

         因為WM_CONCAT返回結果是CLOB類型,我們可以用TO_CHAR函數轉換成字符串,也可以用REPLACE函數將結果中的‘,’轉變成我們需要的其他分隔符。

         再來看看如何將一條記錄通過指定的分隔符拆分成多條記錄,用上圖中的ID=6作為例子,NAME=A|B|C,我們將拆分成三條記錄,SQL和結果如下:

    [sql]
    SELECT id, REGEXP_SUBSTR(name, '[^|]+', 1, rn) b
    FROM temp_table, (SELECT ROWNUM rn FROM DUAL CONNECT BY ROWNUM <= 50)
    WHERE REGEXP_SUBSTR(name, '[^|]+', 1, rn) IS NOT NULL;
    ID NAME www.2cto.com
    1 A
    2 B
    3 C
    4 A
    5 A
    6 A
    6 B
    6 C

    其中,REGEXP_SUBSTR就是我們要用到的拆分函數,以‘|’為分隔符拆分字段NAME,我們看到最后三行,將原本NAME=A|B|C拆分成了三條記錄。

    需要注意的是,在FROM關鍵字后面(SELECT ROWNUM rn FROM DUAL CONNECT BY ROWNUM <= 50),其中50是我們預估的最大拆分數據的條數,在此例中我們使用3就夠了。

    posted on 2013-01-19 15:06 ** 閱讀(327) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文字幕亚洲日韩无线码| 免费毛片网站在线观看| 亚洲欧洲日产国码av系列天堂| 亚洲国产精品久久久久秋霞小| 波多野结衣中文字幕免费视频| 亚洲最大在线观看| 亚洲啪啪免费视频| 中中文字幕亚洲无线码| 久久WWW色情成人免费观看| 亚洲黄页网在线观看| 四虎www免费人成| 日韩色视频一区二区三区亚洲| 凹凸精品视频分类国产品免费| 国产成人亚洲精品91专区高清| 免费乱码中文字幕网站| 黄桃AV无码免费一区二区三区| 亚洲一区二区三区影院| 国产激情免费视频在线观看| 亚洲综合激情六月婷婷在线观看| 野花高清在线观看免费3中文 | 好大好硬好爽免费视频| 亚洲av综合av一区二区三区| 亚洲另类少妇17p| 国产va在线观看免费| 国产成人精品日本亚洲专| 国产无遮挡裸体免费视频| 一个人看的免费观看日本视频www| 精品国产_亚洲人成在线高清 | 永久免费av无码不卡在线观看 | 在线亚洲午夜片AV大片| 四虎影库久免费视频| 七色永久性tv网站免费看| 亚洲国产成人精品无码一区二区| 日本人的色道www免费一区| 久久国产免费直播| 亚洲国产情侣一区二区三区| 免费吃奶摸下激烈视频| 99精品视频在线免费观看| 久久无码av亚洲精品色午夜| 久久夜色精品国产亚洲AV动态图| 成年女人毛片免费播放人|