oraclewm_concat(oraclewmconcat函数不能用)
本篇文章给大家谈谈oraclewm_concat,以及oraclewmconcat函数不能用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、oracle的wm_concat()函数
- 2、oracle的wm_concat()函数的问题
- 3、oracle 12c 无法使用WM_CONCAT,求指导,以前用的11g可以使用!!!
- 4、oracle如何使用wm_concat()?
- 5、oracle使用wm_concat方法报错ora—01652
- 6、在oracle9中如何实现wm_concat的功能
oracle的wm_concat()函数
wm_concat(列名)这个神奇的函数,他可以把列值用“,”胡陵巧分隔开,而且是显汪脊示成一行,下面来看一下这个函数是如何用的。
表明:test
id names num
1 香蕉 3
2 苹果 2
3 葡萄 5
1 橘子 4
3 西瓜 6
想要实现的方式为:
id names
1 香蕉(3斤),橘子(4斤)
2 苹果(2斤)
3 葡萄(5斤),西瓜(6斤)
使用oracle的wm_concat(column)裤键函数实现
select id,wm_concat(names || '(' || num ||'斤)')names from test group by id;
oracle的wm_concat()函数的问题
insert into test values('aaa','1');
insert into test values('bbb','2');
insert into test values('ccc','5');
insert 贺迟带岁into test values('ddd','3');
select wm_concat(a),wm_concat(b) from test;
WM_CONCAT(A) WM_CONCAT(B)
1 aaa,bbb,ccc,ddd 1,2,5,3
没有问题的。
问题出在你的那个禅行李 distinct
oracle 12c 无法使用WM_CONCAT,求指导,以前用的11g可以使用!!!
建库时的个选项需要安装,如果没有安装就没有这个陪改漏函数,也可以不用安装,自己构建一个这样的函数,网上搜索一下,。
WM_CONCAT是oracle的非公开函数,并不鼓励使用,新版本oracle并没有带此函数,需要手工加上。
1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、芦烂 owmaggrb.plb
2、用sqlplus登录:sqlplus -logon sys/123 as sysdba
3、执行@C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmaggrb.plb;
4、如果执行结果报错,歼丛说找不到WMSYS用户,那么执行 @C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmctab.plb;再执行owmaggrb和owmaggrs。
[img]oracle如何使用wm_concat()?
select 顾客id,replace(wmsys.wm_concat(购买物芹空品),',','/') 购买物品,销售员,b.销售员姓名 from 表3 a LEFT JOIN 表2 b on a.销售员=b.销售手宏员编号 group by a.销售嫌薯瞎员,a.顾客id,b.销售员姓名
oracle使用wm_concat方法报错ora—01652
$ oerr ora 01652
01652, 00000, "unable to extend temp segment by %s in tablespace %s"
// *Cause: Failed to allocate an extent of the required number of blocks for
// a temporary segment in the tablespace indicated.
// *Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
// files to the tablespace indicated.
临时表空间满。
你薯桥宴这个表多大啊?会导数银致临消宽时表空间满。
在oracle9中如何实现wm_concat的功能
方法培高一,使用connect by +sys_connect_by_path :
--测试数据
create table test(col varchar2(10));
insert into test values('a');
insert into test values('b');
insert into test values('c');
--SQL语句:
select ltrim(sys_connect_by_path(col, ','), ',')
from (select col, row_number() over(order by rownum) rn from test t)
where connect_by_isleaf = 1
start with rn = 1
connect by rn = prior rn + 1;
方法二,使用xmltype:
select dbms_lob.substr(rtrim(xmlagg(xmlparse(content col || ',' wellformed))
.getclobval(),
'段中御,'),
4000,
1)
from test;
另握岩外在10,11版本中也不建议使用wm_concat,这个函数属于非公开函数,在12c版本中已经失效;
关于oraclewm_concat和oraclewmconcat函数不能用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。