oracle行列转换函数的使用
来源:互联网 发布:诹访内晶子 知乎 编辑:程序博客网 时间:2024/05/16 04:12
oracle 10g wmsys.wm_concat行列转换函数的使用:
首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用
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;
2、over(partition 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;
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;
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 函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示
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;
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 twhere 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');
0 0
- oracle行列转换函数的使用
- oracle行列转换函数的使用
- oracle行列转换函数的使用
- oracle 行列转换函数
- 利用函数实现的oracle行列转换
- Oracle的行列转换
- Oracle的行列转换
- Oracle的行列转换
- ORACLE分析函数(6)--使用listagg实现行列转换
- Oracle decode函数用法与表的行列转换
- ORACLE中的listagg() 行列转换函数以及表的复制
- 关于oracle 的行列转换
- 关于ORACLE的行列转换
- sql2005《新》行列转换的使用(使用pivot函数)
- 用ORACLE分析函数实现行列转换
- 浅谈SQLServer行列转换PIVOT函数的使用
- 浅谈SQLServer行列转换UNPIVOT函数的使用
- 使用游标实现Oracle中的行列转换
- ListView子控件获取焦点问题
- 快速开发09之归属地查询——系统提供的抖动 振动服务
- 幸福团圆的人任天野
- 在php中运行shell脚本
- 初学Ruby
- oracle行列转换函数的使用
- [Android]getevent,sendevent,input命令的使用
- android应用之——为自己的apk签名
- 国家规划叫哥哥
- 发图月份当然他也淡然
- Java中堆和栈创建对象的区别
- 的若斯特塞尔塔萨
- VLC 播放RTP 所需要的SDP文件格式
- AutoCAD:ObjectARX所有版本下载地址