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

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

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

    Hopes

    Start Here..

     

    轉 Oracle對表的數(shù)據(jù)拆分和合并


    Oracle對表的數(shù)據(jù)拆分和合并


    在日常數(shù)據(jù)庫操作中,我們經(jīng)常對數(shù)據(jù)進行拆分和合并,下面讓我們來看看如何實現(xiàn)。

    假設有表TEMP_TABLE(ID, NAME, CODE),數(shù)據(jù)如下:
    [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的數(shù)據(jù)合并,使用Oracle函數(shù)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函數(shù)轉換成字符串,也可以用REPLACE函數(shù)將結果中的‘,’轉變成我們需要的其他分隔符。

         再來看看如何將一條記錄通過指定的分隔符拆分成多條記錄,用上圖中的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就是我們要用到的拆分函數(shù),以‘|’為分隔符拆分字段NAME,我們看到最后三行,將原本NAME=A|B|C拆分成了三條記錄。

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

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


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


    網(wǎng)站導航:
     

    導航

    統(tǒng)計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲码一区二区三区| 亚洲午夜视频在线观看| 亚洲国产精品99久久久久久 | 在线看亚洲十八禁网站| 成年人网站在线免费观看| 亚洲免费观看在线视频| 青青视频观看免费99| 国产精品亚洲片在线va| 一二三四视频在线观看中文版免费| 亚洲色大成网站www永久| 91香蕉在线观看免费高清| 亚洲视频一区在线观看| 国产一卡二卡四卡免费| 亚洲av永久无码精品三区在线4| 91成年人免费视频| 国产精品亚洲精品观看不卡| 午夜毛片不卡高清免费| 国产天堂亚洲精品| 中文字幕精品无码亚洲字| 成全视频免费观看在线看| 亚洲av女电影网| 91黑丝国产线观看免费| 亚洲AV无码一区二区大桥未久| 免费人成网站7777视频| 久久国产美女免费观看精品| 亚洲va在线va天堂va不卡下载| 免费观看美女用震蛋喷水的视频 | 四虎永久免费网站免费观看| 亚洲精品视频免费观看| 亚洲三级电影网址| 中文字幕影片免费在线观看| 精品一区二区三区免费毛片| 亚洲av无码无在线观看红杏| 在线观看的免费网站| 日韩在线观看免费| 亚洲国产精品免费视频| 真实乱视频国产免费观看| 久草免费福利在线| 亚洲av永久无码嘿嘿嘿| 亚洲人成网77777亚洲色| 免费精品国产自产拍在|