Rumah > pangkalan data > Oracle > teks badan

oracle的列转行函数是什么

WBOY
Lepaskan: 2022-01-26 10:53:55
asal
15845 orang telah melayarinya

在oracle中,列转行的函数是“unpivot()”函数,该函数用于对表格数据进行列转行转换,语法为“unpivot(自定义列名 列的值 for 自定义列名 列名 in(列名))”。

oracle的列转行函数是什么

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle的列转行函数是什么

oracle的列转行函数是unpivot()函数

示例如下:

原表

01.png

with temp as(
select '四川省' nation ,'成都市' 第一,'绵阳市' 第二,'德阳市' 第三,'宜宾市' 第四  from dual union all
select '湖北省' nation ,'武汉市' 第一,'宜昌市' 第二,'襄阳市' 第三,'' 第四   from dual
)
select nation,name,title from
temp
unpivot
(name for title in (第一,第二,第三,第四))t
Salin selepas log masuk

02.png

说明:unpivot(自定义列名/*列的值*/ for 自定义列名/*列名*/ in(列名))

示例如下:

原数据如下:

03.png

而我想要得到的结果如下:

04.png

SQL:

select class_name, student_name, course_type, result, created_date
  from class_tmp 
  unpivot(result for course_type in(chinese_result,math_result));
Salin selepas log masuk

原数据的chinese_result列和math_result列的列名,将转换为新建列course_type的字段值,表示课种。

原数据的chinese_result列和math_result列的字段值,将转换为新建列result的字段值,表示分数。

推荐教程:《Oracle视频教程

Atas ialah kandungan terperinci oracle的列转行函数是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!