oracle行转列

以下是为您整理出来关于【oracle行转列】合集内容,如果觉得还不错,请帮忙转发推荐。

【oracle行转列】技术教程文章

oracle 行转列,用特殊符号拼接【代码】

第一种 函数 wm_content(‘待转列名称‘) 11g 往后,不推荐使用 实例 多表关联时可以使用 (SELECT wm_concat(nvl(B1.OPERA_CODE,‘a‘)) AS OPERA_CODE FROM OPERATION_NAME B1 WHERE T1.OPERA_REQ_NO=B1.OPERA_REQ_NO) AS SURGERY_OPER_CODE第二种 实例 WITH TEMP AS(SELECT ‘CHINA‘ NATION, ‘GUANGZHOU‘ CITYFROM DUALUNION ALLSELECT ‘CHINA‘ NATION, ‘SHANGHAI‘ CITYFROM DUALUNION ALLSELECT ‘CHINA‘ NATION, ‘BEI...

oracle行转列/列转行/字符串拆分 测试

--列转行 --示例1select * from (select o.sname, count(1) dataNum from t_Olm_Onlinemondata d join t_Aaa_ou o on o.ou_id = d.company_id where d.mon_time > to_date(‘2019-11-01 00:00:00‘, ‘yyyy-mm-dd hh24:mi:ss‘) group by o.sname ) pivot( sum(dataNum) for sname in(‘石家庄炼化‘,‘燕山石化‘,‘安庆石化‘,‘天津石化‘,‘河南油田‘,‘湖北化肥‘,‘扬子石化‘,‘金陵石化‘,‘茂名石化‘ ))--示例2create...

oracle行转列实现【代码】【图】

table TEST_TABLE( T1 VARCHAR2(10),--姓名 T2 VARCHAR2(10),--科目 T3 VARCHAR2(10)--成绩 ) 2.插入测试数据insert into test_table (T1, T2, T3) values (‘张三‘, ‘语文‘, ‘88‘);insert into test_table (T1, T2, T3) values (‘张三‘, ‘数学‘, ‘99‘);insert into test_table (T1, T2, T3) values (‘张三‘, ‘英语‘, ‘100‘);insert into test_table (T1, T2, T3) values (‘李四‘, ‘语文‘, ‘79‘);insert in...

oracle行转列和列转行(pivot 和 unpivot 函数,wm_concat函数 )

create table demo(id int,name varchar(20),nums int); ---- 创建表insert into demo values(1, ‘苹果‘, 1000);insert into demo values(2, ‘苹果‘, 2000);insert into demo values(3, ‘苹果‘, 4000);insert into demo values(4, ‘橘子‘, 5000);insert into demo values(5, ‘橘子‘, 3000);insert into demo values(6, ‘葡萄‘, 3500);insert into demo values(7, ‘芒果‘, 4200);insert into demo values(8, ‘芒果‘...

Oracle行转列+排序

drop table biz_bus_station_direct_0711; --2.将站点数据等放入临时表 create table biz_bus_station_direct_0711 as select ls.line_no line_no,bb.line_name line_name,t1.line_direct line_direct,s.station_id station_id,s.station_name station_name,t.point_num point_num_now,s.location_x x_now,s.location_y y_now,t1.point_num point_num_last,t1.point_x x_last,t1.point_y y_last,s.location_x - t1.point_x x_value...

Oracle行转列和列转行【图】

一、行转列1.1、初始测试数据表结构:TEST_TB_GRADESql代码:1 create table TEST_TB_GRADE2 (3 ID NUMBER(10) not null,4 USER_NAME VARCHAR2(20 CHAR),5 COURSE VARCHAR2(20 CHAR),6 SCORE FLOAT7 )初始数据如下图: 1.2、 如果需要实现如下的查询效果图:这就是最常见的行转列,主要原理是利用decode函数、聚集函数(sum),结合group by分组实现的,具体的sql如下:Sql代码:1 sel...

IT忍者神龟之 oracle行转列、列转行【图】

table test( id varchar2(255) primary key not null, name varchar2(255), course varchar2(255), score varchar2(255) ); insert into test values(sys_guid(),‘zhangsan‘,‘语文‘,85); insert into test values(sys_guid(),‘zhangsan‘,‘数学‘,78); insert into test values(sys_guid(),‘zhangsan‘,‘英语‘,90); insert into test values(sys_guid(),‘lisi‘,‘语文‘,73); in...

偶遇Oracle行转列【代码】【图】

行转列应该是数据库比较常见的操作了,在oracle中可以使用pivot、decode,可以参考呆瓜的blog: http://blog.csdn.net/ch7543658/article/details/41146809SELECT name,MAX(DECODE(course, java, gread)) AS java,MAX(DECODE(course, c#, gread)) AS c#,MAX(DECODE(course, c, gread)) AS c,MAX(DECODE(course, sql, gread)) AS sql FROM t GROUP BY name;NAME JAVA C# C SQL ---------- ----...

Oracle行转列、列转行的Sql语句总结(转)【代码】【图】

多行转字符串 这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_userselect id||username str from app_user 字符串转多列 实际上就是拆分字符串的问题,可以使用 substr、instr、regexp_substr函数方式 字符串转多行 使用union all函数等方式 wm_concat函数 首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何...

Oracle 行转列及列转行

参考网址:http://blog.163.com/fushahui_1988@126/blog/static/82879994201192844355174/ 一、多行转一列select id, vnum, to_char(wmsys.wm_concat(vname)) c from tab_test group by id,vnum;二、一列转多行with a as (select ‘/ABC/AA/AD/ABD/JI/CC/ALSKD/ALDKDJ‘ id from dual)select regexp_substr(id,‘[^/]+‘,1,rownum) id from aconnect by rownum <= length(regexp_replace(id,‘[^/]+‘))Oracle 行转列及列转行标签...