语法:unpivot(新增值所在列的列名 for 新增列转为行后所在列的列名 in (需转为行的列名));
执行原理:将pivot函数或unpivot函数接在查询结果集的后面。相当于对结果集进行处理。
测试数据
With ft as (
select 1 id,'路飞' name_, 17 age, '无厘头船长' position_,170 height_ from dual
Union
select 2 id,'卓洛' name_, 19 age ,'路痴狂' position_,180 height_ from dual
Union
select 3 id,'三治' name_, 20 age ,'好色厨子' position_,180 height_ from dual)
执行语句
Select * FROM ft unpivot(val_ for params in (age,height_)) order by id
测试结果