Oracle列转行和行转列的几种用法

发布时间:2023-12-19 19:33:02

Oracle列转行和行转列的几种用法
栏到
栏主要讨论sys_connect_by_path的用法
1,具有分层关系
SQL>createtabledept(deptnononumbermgrnononumber
tablecreated.
SQL>插入deptvalues(1,“总部”,空
1rowcreated.
SQL>插入deptvalues(2,’浙江分公司’,11rowcreated.
SQL>insertintodeptvalues(3,’杭州分公司’,1行。
SQL>提交;
deptnamevarchar22;已创建
(20

提交完成。
SQL>从部门连接中选择最大值(子串(sys_connect_by_path(deptname,’,’,2由先前部门连接=mgrno最大值(SUBSTER(SYS_CONNECT_BY_PATH(DEPTNAME,’,2-总部,浙江分行,杭州分行
2,行-列转换
如果一个表的所有列都连接到一行,用逗号分隔:SQL>(SUBSTER(SYS_CONNECT_BY_PATH(column_name,’,’,2MAX(SUBSTRA(SYS_CONNECT_BY_PATH(COLUMN_NAME,’,’,2
-DEPTNODEPTNAMEMGRNO
3ListAgg(Oracle11g
SQL>选择DEPTNO
2ListAgg(NAME,’;’

Oracle列转行和行转列的几种用法

相关推荐