shwq.net
当前位置:首页 >> 如何将OrAClE中同一列的多行记录拼接成一个字符串 >>

如何将OrAClE中同一列的多行记录拼接成一个字符串

所有版本的oracle都可以使用select wm_concat(name) as name from user; 但如果是oracle11g,使用select listagg(name, ',') within group( order by name) as name from user; 效率更高,官方也更推荐这种写法。

方法有如下两种: 1、利用存储过程,先查出所要的数据,循环放入一列中: select 编码,decode(一级,null,null,一级||'>')||decode(二级,null,null,二级||'>')||decode(三级,null,null,三级||'>')||decode(四级,null,null,四级||'>') from 表名 2...

用wm_concat select wm_concat(tel),wm_concat(code) from T;

这个恐怕要用存贮过程或编程实现, 提个思路: 1) 创建一个同字段结构的新表table2 2) 按Col1排序 3) 循环每条记录, 记录每个字段值到临时变量中, 名为vCol1, vCol2... if (Col1 == 前一条记录vCol1) 累加vCol2, vCol3...(如果是字符串则相连) els...

这个问题,我只会个比较笨的办法: SQL> select a.a||b.b from a a,b b; A.A --- 12 SQL> create table c as select a.a||b.b c from a a,b b; 表已创建。 SQL> select * from c; C --- 12 SQL> 刚才的答案实在是......没睡醒,现在改过

with temp as ( select name as text from a ) select substr(text,instr(text,',',1,rn)+1,instr(text,',',1,rn+1)-instr(text,',',1,rn)-1) text from ( select ','||t1.text||',' text,t2.rn from (select text,length(text)-length(replace(...

你好,你最后怎么解决的?我现在也有这个问题。

oracle 中有个wmsys.wm_concat(distinct 字段)分组函数,你可以试试,使用方式跟sum一样的。

Class.forName(className) 实际上是调用Class.forName(className, true, this.getClass().getClassLoader())。注意第二个参数,是指Class被loading后是不是必须被初始化。 ClassLoader.loadClass(className)实际上调用的是ClassLoader.loadClass...

网站首页 | 网站地图
All rights reserved Powered by www.shwq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com