步骤一:创建测试表

CREATE TABLE EMP

(

EMPNO NUMBER(4),

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7,2),

COMM NUMBER(7,

DEPTNO NUMBER(2)

);

步骤二:插入测试数据

INSERT INTO EMP VALUES

(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);

INSERT INTO EMP VALUES

(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981',1600,300,30);

INSERT INTO EMP VALUES

(7521,'WARD',to_date('22-2-1981',1250,500,30);

INSERT INTO EMP VALUES

(7566,'JONES','MANAGER',7839,to_date('2-4-1981',2975,20);

INSERT INTO EMP VALUES

(7654,'MARTIN',to_date('28-9-1981',1400,30);

INSERT INTO EMP VALUES

(7698,'BLAKE',to_date('1-5-1981',2850,30);

INSERT INTO EMP VALUES

(7782,'CLARK',to_date('9-6-1981',2450,10);

INSERT INTO EMP VALUES

(7788,'SCOTT','ANALYST',7566,to_date('13-7-1987','dd-mm-yyyy')-85,3000,20);

INSERT INTO EMP VALUES

(7839,'KING','PRESIDENT',to_date('17-11-1981',5000,10);

INSERT INTO EMP VALUES

(7844,'TURNER',to_date('8-9-1981',1500,30);

INSERT INTO EMP VALUES

(7876,'ADAMS',7788,to_date('13-7-87','dd-mm-yyyy')-51,1100,20);

INSERT INTO EMP VALUES

(7900,'JAMES',to_date('3-12-1981',950,30);

INSERT INTO EMP VALUES

(7902,'FORD',20);

INSERT INTO EMP VALUES

(7934,'MILLER',7782,to_date('23-1-1982',1300,10);

commit;

步骤三:实现列值转换为列标题(这里以JOB列进行转换)

declare

c1 sys_refcursor;

v_job emp.job%type;

v_sql varchar2(1024):='';

begin

v_sql:='select deptno';

open c1 for select distinct job from emp;

loop

fetch c1 into v_job;

exit when c1%notfound;

v_sql:=v_sql||',count(case job when '''||v_job||''' then job else null end) as '||v_job;

end loop;

close c1;

v_sql:=v_sql||' from emp group by deptno';

dbms_output.put_line(v_sql);--这条语句的输出,就是我们想要的sql语句

end;

/

--输出语句如下

select deptno,

count(case job when 'CLERK' then job else null end) as CLERK,

count(case job when 'SALESMAN' then job else null end) as SALESMAN,

count(case job when 'PRESIDENT' then job else null end) as PRESIDENT,

count(case job when 'MANAGER' then job else null end) as MANAGER,

count(case job when 'ANALYST' then job else null end) as ANALYST

from emp group by deptno

--对应的执行结果如下:

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

oracle列设置标题,oracle实现某一列的值转换为列标题相关推荐

  1. oracle spool设置字符集,oracle spool简介+sql plus set常用设置

    利用Oracle中的Spool缓冲池技术可以实现Oracle数据导出到文本文件: SPOOL是SQLPLUS的命令,不是SQL语法里面的东西. 对于SPOOL数据的SQL,最好要自己定义格式,以方便程 ...

  2. 怎样给oracle表设置序列,Oracle的sequence序列在hibernate中的配置方法

    Oracle自增序列在Hibernate中的配置方法 在很多情况下,我们使用Hibernate在已经建立好数据库的基础上.在oracle中,如果已经建立好的数据库中使用了sequence,则可以按照下 ...

  3. oracle怎么设置脚本,ORACLE安装预设置脚本

    ORACLE安装预设置脚本 对于DBA来说,经常需要不断去部署oracle database软件,设置一些环境变量或是系统 参数感觉十分枯燥,通过脚本来实现可以减少很多重复的工作. #!/bin/ba ...

  4. oracle客户端设置中文,Oracle数据库之ORACLE客户端语言设置,SQLPLUS乱码解决方法

    本文主要向大家介绍了Oracle数据库之ORACLE客户端语言设置,SQLPLUS乱码解决方法,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 客户端环境参数NLS_LANG = ...

  5. oracle怎么设置字符集,ORACLE系统字符集设置

    like '8011'||lpad(#value#,8,'0')//lpad 函数将8位的值为0的数据替换为value但是其位数不变. 修改Oracle客户端字符集方法: 1:可以通过修改注册表键值永 ...

  6. oracle sga设置 256G,Oracle SGA大小的解决方法的调整

    以下的文章主要介绍的是调整Oracle SGA大小的解决方法,如果你是调整Oracle SGA大小的解决方法方面的新手,你就可以通过以下的文章对调整Oracle SGA大小的解决方法如何正确使用的详细 ...

  7. oracle如何设置权限,Oracle创建用户并设置权限

    SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 9月 29 15:08:34 2007Copyright (c) 1982, 2002, Oracle ...

  8. oracle如何设置权限,ORACLE的权限设置

    创建用户 create user abc identified by 123; ---------------------------------------------------- 授权 gran ...

  9. oracle 导入设置字符集,Oracle数据导入时,字符集问题解决

    1.通过命令行,使用sysdba登录数据库 sqlplus / as sysdba 2.执行如下命令: SQL>SHUTDOWN IMMEDIATE SQL>STARTUP MOUNT S ...

最新文章

  1. 关闭windows窗口时操作
  2. r - 求平均成绩_学霸秘籍:小学数学知识点例题讲解 — 平均数问题
  3. chmod 777后还是无法写入
  4. Angular 根据指定条件动态决定是否显示自定义的popup hover Component
  5. Redis宕机数据丢失解决方案,不吃透都对不起自己
  6. java逻辑量_java – 增量逻辑
  7. get和post方式传递参数
  8. Spark源码之存储体系简介及缓存cache源码流程图
  9. UNI-APP获取手机MAC地址
  10. 宇视交换机vlan路由配置指导
  11. 迪恩素材教程资源图片下载站源码 dz社区论坛discuz 模板
  12. kappa一致性检验教程_R语言中的试验一致性检验分析 kappa检验和McNemar检验
  13. #情人节#“会玩”的程序员:爱代码爱机车也爱...(单身汪自觉避让)
  14. 印度BIS申请资料流程时间文章
  15. 计算机基础 MBR主引导记录
  16. 微信朋友圈能评论表情包了,来斗图啊!
  17. vue项目性能优化——断点续传
  18. 今天汉化了一个便签软件A note,遵守GNU的自由软件
  19. 进制转换之二进制与十进制转换
  20. Relevance Vector Machine (RVM)简介

热门文章

  1. 时间日期类JAVA包含地区属性_Java常用类 | 时间和日期类
  2. freeyellowe—book_剑桥少儿英语yellow book内容
  3. 编译原理lr(0)c语言,关于编译原理:LR(1)LR(0)文法判断?
  4. labelme数据增强_NO. 21 标注工具 amp; 合成数据生成工具
  5. java 格式化位数_java数字如何格式化?
  6. ICCV 2017 《Flow-Guided Feature Aggregation for Video Object Detection》论文笔记
  7. windows的php如何安装目录结构,禅道的目录结构
  8. 当前记录集不支持更新_微信现已正式支持修改微信号!微信7.0.16内测版更新(附下载)...
  9. 20210621 数学上的距离和空间
  10. 客户端相关知识学习(二)之h5与原生app交互的原理