ysj5125094 发表于 2013-1-14 08:42:26

oracle 行转列 列转行(转)

原文出自 : http://blog.sina.com.cn/s/blog_475839a50100s2q3.html
 
备用.
 
1.概述
行列转换包括以下六种情况:
1)列转行
2)行转列
3)多列转换成字符串
4)多行转换成字符串
5)字符串转换成多列
6)字符串转换成多行
下面分别进行举例介绍。
首先声明一点,有些例子需要如下10g及以后才有的知识:
A.掌握model子句
B.正则表达式
C.加强的层次查询
讨论的适用范围只包括8i,9i,10g及以后版本。
2.列转行
脚本文件如下:
CREATE TABLE t_col_row(ID INT,c1 VARCHAR2(10),c2 VARCHAR2(10),c3 VARCHAR2(10));INSERT INTO t_col_row VALUES (1, 'v11', 'v21', 'v31');INSERT INTO t_col_row VALUES (2, 'v12', 'v22', NULL);INSERT INTO t_col_row VALUES (3, 'v13', NULL, 'v33');INSERT INTO t_col_row VALUES (4, NULL, 'v24', 'v34');INSERT INTO t_col_row VALUES (5, 'v15', NULL, NULL);INSERT INTO t_col_row VALUES (6, NULL, NULL, 'v35');INSERT INTO t_col_row VALUES (7, NULL, NULL, NULL);COMMIT;SELECT * FROM t_col_row;2.1UNION ALL
适用范围:8i,9i,10g及以后版本
页: [1]
查看完整版本: oracle 行转列 列转行(转)