码迷,mamicode.com
首页 > 数据库 > 详细

oracle行列转换函数的使用

时间:2014-09-04 16:31:09      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:http   io   使用   java   ar   art   div   sp   on   

racle 10g wmsys.wm_concat行列转换函数的使用:

首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用

bubuko.com,布布扣
 
1、把结果按分组用逗号分割,以一行打印出来。(如果需要换其它的可以用replace函数:replace(wm_concat(name),‘,‘,‘|‘))
select t.u_id,
       wmsys.wm_concat(t.goods),
       wmsys.wm_concat(t.goods || ‘(‘ || t.u_id || ‘斤)‘)
  from tb_index t
 group by t.u_id;

bubuko.com,布布扣
 
2、over(partition by t.u_id)用法:
  select t.u_id,  www.2cto.com  
       wmsys.wm_concat(t.goods || ‘(‘ || t.u_id || ‘斤)‘) over(partition by t.u_id)
  from tb_index t;
 
bubuko.com,布布扣
 
3、over(order by t.u_id)用法:
  select t.u_id,
       wmsys.wm_concat(t.goods || ‘(‘ || t.u_id || ‘斤)‘) over(partition by t.u_id)
  from tb_index t;

bubuko.com,布布扣
 
4、懒人扩展用法:(大表很多字段我需要串起来)
select ‘select ‘|| wm_concat(‘t.‘||column_name) || ‘ from TB_INDEX t‘ from user_tab_columns where table_name=‘TB_INDEX‘;
 
sys_connect_by_path(columnname, seperator) :用来构造树路径的,所以需要和connect by一起来用。
sys_connect_by_path 函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示 

bubuko.com,布布扣
 
select t.areaid,
       t.parentareaid,
       t.areaname,
       sys_connect_by_path(t.areaname, ‘-‘) area 
  from tb_index t
 start with t.areaname = ‘中国‘
connect by t.parentareaid = prior t.areaid;
   www.2cto.com  
bubuko.com,布布扣
 
listagg:11gr2还新增了一个分析函数LISTAGG,这个函数的功能实现字符串的连接
create table t (id number, name varchar2(30), type varchar2(20));
insert into t
  select rownum, object_name, object_type from dba_objects;
select listagg(name, ‘,‘) within group(order by id)
  from t
 where rownum < 10;
select type, listagg(name, ‘,‘) within group(order by id) name
 from t
where type in (‘DIRECTORY‘, ‘JAVA SOURCE‘, ‘SCHEDULE‘)
group by type;
select name,
       listagg(name, ‘,‘) within group(order by id) over(partition by type) s_name
  from t
 where type in (‘DIRECTORY‘, ‘JAVA SOURCE‘, ‘SCHEDULE‘);

oracle行列转换函数的使用

标签:http   io   使用   java   ar   art   div   sp   on   

原文地址:http://www.cnblogs.com/lschenblog/p/3956109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!