`

只有 Oracle 11G 支持的 unpivot函数

阅读更多

只有Oracle 11G才支持的行列转置的函数 UNPIVOT


操作代码如下

drop table t;
CREATE TABLE T (ID NUMBER,phonetype VARCHAR2(10),qhd VARCHAR2(10),ts varchar2(10),bd varchar2(10));
INSERT INTO T VALUES ( 1,'htc', '02'     ,'03','05'   );
INSERT INTO T VALUES ( 2,'moto', '05'     ,'08','06'   );
INSERT INTO T VALUES ( 3,'se', 'oracle' ,'mysql','07');


select * from 
(
  select id, col, val
    from t
    unpivot ( val for col in (qhd,ts,bd) )
)



PS 此代码来自  http://alafqq.iteye.com/blog/908336
分享到:
评论

相关推荐

    oracle 11g overview

    Oracle 11g是Oracle公司推出的一个重要数据库版本,提供了许多增强的功能和创新技术,以提升性能、可管理性、安全性和弹性。以下是对标题和描述中提到的一些关键知识点的详细说明: 1. **数据库重放**:这是一个...

    Oracle行转列之pivot

    从Oracle 11g版本开始,引入了PIVOT和UNPIVOT关键字,以支持显式的查询转换,即从行数据转换为列数据,或从列数据转换为行数据,进而生成交叉表格式的结果。这一技术尤其适用于报表生成,使得能够使用SQL语句针对...

    SQL Server与Oracle常用函数对比

    - `REPLACE()`函数在SQL Server中用于替换字符串中的某个子串,Oracle则使用`REPLACE()`函数,但注意Oracle的`REPLACE`不支持模式匹配。 - `UPPER()`和`LOWER()`函数在两个系统中都是用于大小写转换。 2. **日期...

    oracle行转列

    1. PIVOT操作:Oracle 11g开始引入了PIVOT关键字,它允许用户直接在SQL查询中将行数据转换为列数据。例如,假设有一个销售数据表,包含产品ID、年份和销售额三个字段,我们可以通过PIVOT操作将不同年份的销售额转换...

    oracle常用函数

    这里我们将深入探讨Oracle中的一些常用函数,包括数值函数、转换函数、字符串函数以及行列转换函数。 一、数值函数 1. **ROUND()**:用于四舍五入数字,可以指定保留的小数位数。 2. **TRUNC()**:截断数字到指定...

    Oracle.SQL必备参考(PDF)

    3. **高级查询技巧**:Oracle SQL支持窗口函数(如ROW_NUMBER、RANK和DENSE_RANK),它们在数据分析和排序中极为有用。此外,还有分层查询(CONNECT BY)用于处理层次结构数据,以及PIVOT和UNPIVOT操作,分别用于...

    oracle企业级培训ppt

    在这一章,会深入到更复杂的查询技术,如窗口函数(ROW_NUMBER、RANK、DENSE_RANK)、PIVOT和UNPIVOT操作,以及使用WITH子句的公用表表达式(CTE)。还会讲解如何使用索引提升查询性能,以及分析函数(如LEAD、LAG...

    Oracle的列转行问题

    当然,Oracle数据库从11g版本开始提供了更高级的`PIVOT`和`UNPIVOT`操作,它们是专为行列转换设计的内置功能,使用起来更为简洁且高效。例如,使用`PIVOT`对上述案例进行列转行的代码如下: ```sql SELECT * FROM f...

    oracle系列教程三+oracle复杂SQL语句.doc

    在处理行列转换时,Oracle提供了`PIVOT`和`UNPIVOT`功能,可以方便地实现数据的纵横转换。去重操作通常通过`DISTINCT`关键字实现,但在大量数据下,可能需要结合`GROUP BY`和`MIN/MAX`函数或者使用`ROW_NUMBER()`...

    oracle学习参考

    而在Oracle 11g及更高版本,引入了`PIVOT`功能,使得行转列更加直观。`PIVOT`语句允许指定列名和对应的值,生成新的列。 - **列转行**:列转行通常需要使用`UNION ALL`或`UNPIVOT`操作。`UNPIVOT`可以把多列数据...

    Oracle中SQL语句行列之间相互转换

    在Oracle中,可以使用`UNPIVOT`操作来实现这一目标。 ##### 1.2 实例说明 以下示例展示了如何将表`"TOPICDATA"."topic_info"`中的多个列转换为单个列: ```sql SELECT id, 编号, bbb, aaa FROM ( SELECT id, ...

    Oracle常用语句-总结文档汇总

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其SQL语法丰富多样,对于初学者和专业开发者都有着极高的学习价值。"Oracle常用语句-总结文档汇总"提供了丰富的资源,涵盖了SQL语句的基础到进阶应用,包括...

    ORACLE 常用sql专题讲解

    本专题将深入探讨几个在Oracle中常用的SQL特性,包括行列转化、MERGE INTO语句、CASE表达式、ROWNUM伪列以及分析函数。这些知识点不仅在日常开发中频繁使用,也是面试中常被问及的技能点。 首先,我们来看行列转化...

    Oracle SQL 必备参考

    以上只是Oracle SQL的冰山一角,实际上,它还包括窗口函数、游标、并行查询、分区表、物化视图、材料化查询表、数据库链接、PL/SQL编程等大量功能。深入学习Oracle SQL,能够极大地提升数据库管理和开发的效率。

    oracle内部SQL学习资料

    Oracle SQL是数据库管理员和开发人员在Oracle数据库环境中进行数据管理和查询的主要工具。它是一种特定于Oracle的结构化查询语言,提供了丰富的功能来处理和检索数据。以下是对"Oracle内部SQL学习资料"中可能涵盖的...

Global site tag (gtag.js) - Google Analytics