Oracle 将列转换为行的SQL语句(oracle列转行SQL)

案例:

现在有一个表employee_tbl,有如下数据:

id name gender age

1 Jack male 19

2 Nick male 24

3 Tom male 25

4 Rose female 22

要求将性别列转换为行

Oracle数据库通过使用列转行功能,可以快速将数据表某一列转换为行。例如,使用Oracle SQL中的Pivot操作可以将employee_tbl表的gender列转换为行。具体的步骤如下:

1、开启实验环境

假设已经有创建好了 Oracle 数据库环境,且创建好employee_tbl表:

create table employee_tbl

(id number(2,0),

name varchar2(50),

gender varchar2(10),

age number(2,0));

2、插入演示数据

将提供的演示数据插入到上述表中:

insert into employee_tbl

select 1, 'Jack','male',19 from dual union all

select 2, 'Nick','male',24 from dual union all

select 3, 'Tom','male',25 from dual union all

select 4, 'Rose','female',22 from dual;

3、Oracle 将列转换为行的SQL语句

Oracle通过使用列转行语句,可以将employee_tbl表的gender属性转换为行:

select * from

(select id,name,gender,age from employee_tbl)

pivot

(count(gender)

for gender in('male' male,'female' female));

4、查询结果

查询之后会显示如下结果:

ID NAME MALE FEMALE

-----------------------------------------------------

1 Jack 1 0

2 Nick 1 0

3 Tom 1 0

4 Rose 0 1

可以看到,通过使用 Oracle SQL,我们实现了将employee_tbl表中gender列转换为行,实现数据表列转行的目的。

总结:

本文讲解了如何使用Oracle SQL实现将数据表某一列转换为行的步骤:通过使用Pivot操作完成列转行。具体的步骤:首先开启Oracle数据库,创建employee_tbl表,然后插入演示数据,最后执行查询语句获得转换的行的数据结果。


数据运维技术 » Oracle 将列转换为行的SQL语句(oracle列转行SQL)