oracle行转列、oracle列转行 以及 mysql列转行,mysql行转列


文章目录

  • 前言
  • 一、oracle:逗号分隔的一列转行
  • 二、oracle:多列转行 unpivot 函数
  • 三、oracle:行转列 pivot 函数
  • 四、oracle:多行转一列 wm_concat 函数

前言

一篇文章总结举例介绍oracle和mysql的行转列、列转行操作


一、oracle:逗号分隔的一列转行

建表语句:

CREATE TABLE "GZY"."T_CLOUD_INQUIRY_CLASSIFY" ("ID" VARCHAR2(100 BYTE) NOT NULL,"NAME" VARCHAR2(100 BYTE),"INQUIRY" VARCHAR2(800 BYTE),"JGBM" VARCHAR2(100 BYTE),"CZJG" VARCHAR2(100 BYTE),"CZR" VARCHAR2(100 BYTE),"CZSJ" VARCHAR2(100 BYTE),"CZZT" VARCHAR2(100 BYTE),"OPENFLAG" VARCHAR2(100 BYTE)
)
LOGGING
NOCOMPRESS
PCTFREE 10
INITRANS 1
STORAGE (INITIAL 196608 NEXT 1048576 MINEXTENTS 1MAXEXTENTS 2147483645BUFFER_POOL DEFAULT
)
PARALLEL 1
NOCACHE
DISABLE ROW MOVEMENT
;

数据库insert语句:

INSERT INTO "" ("INQUIRY", "ID", "NAME", "INQUIRY", "JGBM", "CZJG", "CZR", "CZSJ", "CZZT", "OPENFLAG") VALUES ('77792054EB504A3089C1F95C2252DD02,D43EB32DF99141D19644E6F33780F6D7,41F4ACA5AD87467D9ADCF128DBD74C2D,F7566A51790443DF94912A4CBBC4DC0E', '70EC1DA5186D4E4583EB6C98815AFAB7', '问题分类2', '77792054EB504A3089C1F95C2252DD02,D43EB32DF99141D19644E6F33780F6D7,41F4ACA5AD87467D9ADCF128DBD74C2D,F7566A51790443DF94912A4CBBC4DC0E', '110100990302010001', '610100030101010001', '100000', '2022-05-19 14:34:35', '1', '1');

建好后的数据库表如下(示例):

逗号分隔的一列转多行语句:

SELECTREGEXP_SUBSTR( INQUIRY, '[^,]+', 1, L ) INQUIRY,id,jgbm
FROMT_CLOUD_INQUIRY_CLASSIFY t,( SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 100 )
WHEREL ( + ) <= LENGTH( INQUIRY ) - LENGTH( REPLACE ( INQUIRY, ',' ) ) + 1 AND id = '70EC1DA5186D4E4583EB6C98815AFAB7'

查询后的数据根据字段的逗号分隔变成多行:


二、oracle:多列转行 unpivot 函数

原表

列转行后-效果

unpivot(value FOR times IN(TIME_1A, TIME_2A, TIME_3A,
TIME_4P, TIME_5P, TIME_6P))unpivot(列名(列的值) for 列名(列得名称) in (需转为行的列名));

三、oracle:行转列 pivot 函数

语法:pivot(任一聚合函数 for 需转列的值所在列名 in (需转为列名的值));

行转列后的效果


四、oracle:多行转一列 wm_concat 函数

原表

select wm_concat(to_char(name))  as value  from SYS_RESOURCE;select replace(wm_concat(diag_code),',',';') diag_code from Hzst_Diagnosis;

行转列后的效果

oracle系列–行转列、列转行相关推荐

  1. oracle 行转列后列名,Oracle 多行转多列,列值转为列名

    前段时间做调查问卷,客户创建自定义问卷内容,包括题目和选项内容; 之后需要导出问卷明细,,,,麻烦来咯 于是到网上到处搜索,没有直接结果;于是又找各种相似的,,终于功夫不负有心人 然后最终自己写出来了 ...

  2. oracle一列多行转一行多列表示,Oracle 多行转多列,列值转为列名

    前段时间做调查问卷,客户创建自定义问卷内容,包括题目和选项内容; 之后需要导出问卷明细,,,,麻烦来咯 于是到网上到处搜索,没有直接结果;于是又找各种相似的,,终于功夫不负有心人 然后最终自己写出来了 ...

  3. Oracle 多行变一列的方法

    多行变一列的方法有很多,觉得这个第一眼看懂了当时就用的这个办法. 情况是这样的.以下数据前几列是一样的,需要把VAT_VALUE_CHAR 的值放在同一行上. SELECT * FROM ps_vat ...

  4. oracle 动态行转成列,Oracle 行转列 动态出转换的列

    一.运行环境 Win10,Oracle Database 11g r2,plsql 12. 二.效果预览 1.固定转换列的方法 2.存储过程处理 1)调用存储过程 2)查指定的视图即可 3.两种方法的 ...

  5. oracle数据库行转化成列,ORACLE行转列(行转一列,行转多列)

    --listagg(合并多行的值为字符串,只用一列来显示) select status, count(*), listagg(risk_id, ',') within group (order by ...

  6. oracle将多行转成多列,oracle 多行转多列查询

    测试成绩表t create table t( stuid varchar2(20), course varchar2(20), score number(8,2)); insert into t va ...

  7. oracle竖行的两列变成横行_SQL竖列变横列

    oracle 中自连接和 case when,decode 的应用 有表如下: * from test026; ID NAME                 SUBJECT              ...

  8. oracle竖行的两列变成横行_oracle数据竖列转横向显示问题!

    @m869485074: select SERTIAL, case when count(case when PROCESS_SERTIAL = 1 and PLANSTATUS = 2  then ...

  9. Oracle SQL 行转列,pivot函数和unpivot函数

    转:Oracle行转列,pivot函数和unpivot函数 - waynelo - 博客园 (cnblogs.com) pivot函数:行转列函数: 语法:pivot(任一聚合函数 for 需专列的值 ...

最新文章

  1. SpringMVC基础及应用-李守红
  2. 对于python中的self,cls,decorator的理解
  3. 青少年蓝桥杯_2020_steam考试_中级组_第一题
  4. html中怎么写多选框,如何在HTML中实现“选择所有”复选框?
  5. leetcode No.141 环形链表
  6. 身份证识别开发_成为您的身份永远不会太晚-在36岁时成为一名开发人员
  7. Ubuntu18.04 ROS melodic 版本的rivz教程
  8. oracle中冗余,各位有没有检查冗余索引的脚本
  9. 【物联网智能网关-08】TinyGUI和WPF汉字显示技术比较
  10. 强命名防止dll被篡改
  11. C#中索引器的简单使用
  12. 刷leetcode不知道从哪里刷起?? 来看看,我把刷题题目顺序都排好了,每道题还带详细题解!
  13. 飞机大战小游戏3.0
  14. Java视频教程(自学必备)
  15. 公证通Factom白皮书
  16. 为什么需要使用云计算技术?
  17. java身份证格式强校验
  18. java 获取文件的大小kb_java获取文件大小的方法
  19. 《计算机组成原理》复习第七章—外围设备
  20. Just to myself

热门文章

  1. java计算机毕业设计基于安卓Android的天文观星系统app uniapp 小程序
  2. NODE.JS手机验证码短信发送demo
  3. java怎么上传文件到虚拟主机,购买虚拟主机如何部署java项目
  4. 统一javaweb项目和mysql数据库时间UTC时间方法及原理
  5. 理解事务的4种隔离级别
  6. 服务器端和客户端IP地址及MAC地址获取
  7. 计算机文本使用技巧,电脑的一些使用技巧
  8. java使用itext替换pdf的文字
  9. 云计算与服务器高校教材,高校云计算的发展与建设
  10. Kafka、zookeeper集群一键启动、一键关闭