首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

SQL是不是有用于字符串的聚合函数

2012-08-17 
SQL是否有用于字符串的聚合函数设有SUM_STR()这样一个类似SUM()的聚合函数,功能如:select sum_str(name,,

SQL是否有用于字符串的聚合函数
设有SUM_STR()这样一个类似SUM()的聚合函数,功能如:
select sum_str(name,',')from class group by type;
可以把name用‘,’连接按type分组查出来。
有这样的聚合函数不?还有聚合函数是否可以自定义?
--by zhengyun

[解决办法]
搜一下sys_connect_by_path或者wmsys.wm_concat()
[解决办法]
9i有一个函数stragg功能应该类似。
不过10g不能用。
10g的话,可以用connect by来做,例子

SQL code
select t.code,substr(max(sys_connect_by_path(t.sz,',')),2) szfrom(select  code,sz,row_number()over(partition by code order by sz) rn from (select * from prdsz where rownum<100)) tstart with t.rn=1connect by t.code=prior t.codeand t.rn-1=prior t.rngroup by t.code;
[解决办法]
oracle 10g以上版本有对应的函数:
wm_concat(列名)
这个函数不能指定分隔符,只能以逗号分隔

oracle可以自定义聚合函数
[解决办法]
10g以后可以用wm_concat这个函数阿,行转列,逗号隔离,应该就是你需要的了

热点排行