orale 行转列或者 字符拼接函数 wmsys.wm_concat()函数 /instr(listagg(name,';') within group (order by o.srclinkedid)

wmsys.wm_concat();

简单创建一张学生表;

CREATE TABLE stu (
    s_id VARCHAR(10) not null primary key,--主键
    s_name VARCHAR(10) NOT NULL,
    s_class VARCHAR(10) not null,
    s_fraction NUMBER(5) NOT NULL
);

实现效果:查询没办学生 实现行转列; 

select t.s_class,WMSYS.WM_CONCAT(t.s_name) name  from stu t GROUP BY t.s_class;

实现效果二:

查询每班 学生姓名及分数实现行转列

select u.s_class,wmsys.wm_concat(u.s_name ||'('||u.s_fraction||')')  from stu u GROUP BY u.s_class;

listagg(name,';') within group (order by o.srclinkedid) 自定义拼接符函数

name:拼接字段,

o.srclinkedid :根据某个字段拼接,

原文地址:https://www.cnblogs.com/wangfl/p/10966598.html