网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 oracle列值合併
内容
    合併列值最通用的方法就是寫一個自定義函數去實現,這裏介紹的是其他方法。
    在sql server中合併列值可以使用for xml path,在oracle中則可以使用wm_concat 或 listagg。
    準備數據:
    create table mytest(xtype number,city nvarchar2(200));
    /
    insert into mytest(xtype,city)
    select 1,n'北京' from dual union all
    select 1,n'上海' from dual union all
    select 1,n'广州' from dual union all
    select 2,n'武汉' from dual union all
    select 2,n'杭州' from dual union all
    select 2,n'厦门' from dual
    commit;
    /
    使用wm_concat:
    select xtype,wmsys.wm_concat(to_char(city)) as xcity
    from mytest
    group by xtype
    使用listagg:
    select xtype,
    listagg(to_char(city),',') within group(order by xtype) as xcity
    from mytest
    group by xtype
    結果:
    xtype xcity
    ---------- --------------------------------------
    1 北京,广州,上海
    2 杭州,武汉,厦门
    備註:
    0、上面在city列前都加了to_char()函數,是為了防止出現亂碼的情況;
    1、wm_concat 在oracel的官方文檔中沒有,不能保證各版本的兼容性;
    2、listagg是11g版本才出現的新的聚集函數。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/18 0:54:27