• 技术文章 >数据库 >Oracle

    oracle的列转行函数是什么

    长期闲置长期闲置2022-01-26 10:53:55原创473

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

    本教程操作环境: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

    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));

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

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

    推荐教程:《Oracle视频教程

    以上就是oracle的列转行函数是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:怎样删除oracle字段 下一篇:oracle怎样增加表空间

    相关文章推荐

    • oracle怎么修改索引• oracle怎样修改用户• oracle怎么实现行列转换• oracle怎样转换日期格式• oracle怎么修改主键

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网