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

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

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

    Hopes

    Start Here..

     

    轉(zhuǎn) 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ù)轉(zhuǎn)換成字符串,也可以用REPLACE函數(shù)將結果中的‘,’轉(zhuǎn)變成我們需要的其他分隔符。

         再來看看如何將一條記錄通過指定的分隔符拆分成多條記錄,用上圖中的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 ** 閱讀(321) 評論(0)  編輯  收藏


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


    網(wǎng)站導航:
     

    導航

    統(tǒng)計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文字幕在亚洲第一在线| 浮力影院第一页小视频国产在线观看免费| 亚洲欧洲日产国码高潮αv| 色噜噜噜噜亚洲第一| 午夜时刻免费入口| 亚洲AV成人精品日韩一区| 在线永久免费观看黄网站| 羞羞视频在线免费观看| 亚洲国产小视频精品久久久三级| 麻豆va在线精品免费播放| 亚洲国产精品碰碰| 免费日本一区二区| 亚洲精彩视频在线观看| 最新免费jlzzjlzz在线播放| 亚洲欧美日韩中文字幕在线一区 | 亚洲av无码兔费综合| 免费鲁丝片一级在线观看| 国产区图片区小说区亚洲区| 亚洲国产精品狼友中文久久久 | 亚洲高清视频在线观看| 亚洲无砖砖区免费| 亚洲中文字幕一区精品自拍| 免费一区二区三区四区五区| 在线观看片免费人成视频无码| 久久精品国产亚洲AV无码偷窥| 国产美女在线精品免费观看| 一级A毛片免费观看久久精品| 亚洲人JIZZ日本人| 性生交片免费无码看人| 免费无码午夜福利片 | 日日噜噜噜噜夜夜爽亚洲精品| 暖暖免费在线中文日本| 欧洲 亚洲 国产图片综合| 四虎影院永久免费观看| 99视频精品全部免费观看| 亚洲欧美成人av在线观看| 亚洲色大成网站www永久一区 | 国产极品粉嫩泬免费观看| 国产日韩一区二区三免费高清| 2017亚洲男人天堂一| 亚洲韩国精品无码一区二区三区|