zoukankan      html  css  js  c++  java
  • oracle wmsys.wm_concat 函数用法

    oracle wmsys.wm_concat 函数,它的作用是以','链接字符。

    例子如下:

    SQL> create table idtable (id number,name varchar2(30));

    Table created

    SQL> insert into idtable values(10,'ab');

    1 row inserted

    SQL> insert into idtable values(10,'bc');

    1 row inserted

    SQL> insert into idtable values(10,'cd');

    1 row inserted

    SQL> insert into idtable values(20,'hi');

    1 row inserted

    SQL> insert into idtable values(20,'ij');

    1 row inserted
    SQL> insert into idtable values(20,'mn');

    1 row inserted

    SQL> select * from idtable;

            ID NAME
    ---------- ------------------------------
            10 ab
            10 bc
            10 cd
            20 hi
            20 ij
            20 mn

    6 rows selected
    SQL> select id,wmsys.wm_concat(name) name from idtable
      2  group by id;

            ID NAME
    ---------- --------------------------------------------------------------------------------
            10 ab,bc,cd
            20 hi,ij,mn

    SQL> select id,wmsys.wm_concat(name) over (order by id) name from idtable;

            ID NAME
    ---------- --------------------------------------------------------------------------------
            10 ab,bc,cd
            10 ab,bc,cd
            10 ab,bc,cd
            20 ab,bc,cd,hi,ij,mn
            20 ab,bc,cd,hi,ij,mn
            20 ab,bc,cd,hi,ij,mn

    6 rows selected

    SQL> select id,wmsys.wm_concat(name) over (order by id,name) name from idtable;

            ID NAME
    ---------- --------------------------------------------------------------------------------
            10 ab
            10 ab,bc
            10 ab,bc,cd
            20 ab,bc,cd,hi
            20 ab,bc,cd,hi,ij
            20 ab,bc,cd,hi,ij,mn

    6 rows selected

    个人觉得这个用法比较有趣.

    SQL> select id,wmsys.wm_concat(name) over (partition by id) name from idtable;

            ID NAME
    ---------- --------------------------------------------------------------------------------
            10 ab,bc,cd
            10 ab,bc,cd
            10 ab,bc,cd
            20 hi,ij,mn
            20 hi,ij,mn
            20 hi,ij,mn

    6 rows selected

    SQL> select id,wmsys.wm_concat(name) over (partition by id,name) name from idtable;

            ID NAME
    ---------- --------------------------------------------------------------------------------
            10 ab
            10 bc
            10 cd
            20 hi
            20 ij
            20 mn

    6 rows selected

  • 相关阅读:
    Python抓取妹子图,内含福利
    我是如何通过一部动漫学习英语的?
    SqlServer,Oracle,db2,MySql查询表索引
    cmd命令大全
    资源推荐:PPT快闪资源合集附配套字体下载
    安卓抖音全球地区版
    tomcat的Server.xml详解和Host的配置
    Java总结篇系列:Java多线程(三)
    Java总结篇系列:Java多线程(二)
    Java总结篇系列:Java多线程(一)
  • 原文地址:https://www.cnblogs.com/leonsky/p/2703539.html
Copyright © 2011-2022 走看看