oracle行列转换总结

oracle行列转换总结

ID:35318776

大小:78.00 KB

页数:16页

时间:2019-03-23

oracle行列转换总结_第1页
oracle行列转换总结_第2页
oracle行列转换总结_第3页
oracle行列转换总结_第4页
oracle行列转换总结_第5页
资源描述:

《oracle行列转换总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、最近不少人提的问题都与行列转换有关系,所以我对行列转换的相关知识做了一个总结,希望对大家有所帮助,同时有何错疏,恳请大家指出,我也是在写作过程中学习,算是一起和大家学习吧。在写作的过程中也参考了一些资料和网友的文章,在此表示感谢。行列转换包括以下六种情况:*列转行*行转列*多列转换成字符串*多行转换成字符串*字符串转换成多列*字符串转换成多行下面分别进行举例介绍。首先声明一点,有些例子需要如下10g及以后才有的知识:a。掌握model子句,b。正则表达式c。加强的层次查询讨论的适用范围只包括8i,9i,10g及以后版本。be

2、gin:viewplaincopytoclipboardprint?01.02.1、列转行03.CREATETABLEt_col_row(04.IDINT,05.c1VARCHAR2(10),06.c2VARCHAR2(10),07.c3VARCHAR2(10));08.09.INSERTINTOt_col_rowVALUES(1,'v11','v21','v31');10.INSERTINTOt_col_rowVALUES(2,'v12','v22',NULL);11.INSERTINTOt_col_rowVALUES(3

3、,'v13',NULL,'v33');12.INSERTINTOt_col_rowVALUES(4,NULL,'v24','v34');13.INSERTINTOt_col_rowVALUES(5,'v15',NULL,NULL);14.INSERTINTOt_col_rowVALUES(6,NULL,NULL,'v35');15.INSERTINTOt_col_rowVALUES(7,NULL,NULL,NULL);16.COMMIT;17.18.SELECT*FROMt_col_row;19.20.1)UNIONALL2

4、1.适用范围:8i,9i,10g及以后版本22.SELECTid,'c1'cn,c1cv23.FROMt_col_row24.UNIONALL25.SELECTid,'c2'cn,c2cv26.FROMt_col_row27.UNIONALL28.SELECTid,'c3'cn,c3cvFROMt_col_row;29.30.若空行不需要转换,只需加一个where条件,31.WHERECOLUMNISNOTNULL即可。32.33.2)MODEL34.适用范围:10g及以后35.SELECTid,cn,cvFROMt_col

5、_row36.MODEL37.RETURNUPDATEDROWS38.PARTITIONBY(ID)39.DIMENSIONBY(0ASn)40.MEASURES('xx'AScn,'yyy'AScv,c1,c2,c3)41.RULESUPSERTALL42.(43.cn[1]='c1',44.cn[2]='c2',45.cn[3]='c3',46.cv[1]=c1[0],47.cv[2]=c2[0],48.cv[3]=c3[0]49.)50.ORDERBYID,cn;51.52.3)collection53.适用范围:8i

6、,9i,10g及以后版本54.要创建一个对象和一个集合:55.CREATETYPEcv_pairASOBJECT(cnVARCHAR2(10),cvVARCHAR2(10));56.57.CREATETYPEcv_varrASVARRAY(8)OFcv_pair;58.59.SELECTid,t.cnAScn,t.cvAScv60.FROMt_col_row,61.TABLE(cv_varr(cv_pair('c1',t_col_row.c1),62.cv_pair('c2',t_col_row.c2),63.cv_pair

7、('c3',t_col_row.c3)))t64.ORDERBY1,2;65.66.2、行转列67.68.CREATETABLEt_row_colAS69.SELECTid,'c1'cn,c1cv70.FROMt_col_row71.UNIONALL72.SELECTid,'c2'cn,c2cv73.FROMt_col_row74.UNIONALL75.SELECTid,'c3'cn,c3cvFROMt_col_row;76.77.SELECT*FROMt_row_colORDERBY1,2;78.79.1)AGGREGAT

8、EFUNCTION80.适用范围:8i,9i,10g及以后版本81.SELECTid,82.MAX(decode(cn,'c1',cv,NULL))ASc1,83.MAX(decode(cn,'c2',cv,NULL))ASc2,84.MAX(decode(cn,'c3',cv,NULL)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。