oracle 行转列,用特殊符号拼接

Posted iullor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 行转列,用特殊符号拼接相关的知识,希望对你有一定的参考价值。

第一种

函数 wm_content(‘待转列名称‘) 11g 往后,不推荐使用

实例

多表关联时可以使用

(SELECT wm_concat(nvl(B1.OPERA_CODE,‘a‘)) AS OPERA_CODE FROM OPERATION_NAME B1 WHERE T1.OPERA_REQ_NO=B1.OPERA_REQ_NO) AS SURGERY_OPER_CODE

第二种

实例

WITH TEMP AS
 (SELECT ‘CHINA‘ NATION, ‘GUANGZHOU‘ CITY
    FROM DUAL
  UNION ALL
  SELECT ‘CHINA‘ NATION, ‘SHANGHAI‘ CITY
    FROM DUAL
  UNION ALL
  SELECT ‘CHINA‘ NATION, ‘BEIJING‘ CITY
    FROM DUAL
  UNION ALL
  SELECT ‘USA‘ NATION, ‘NEW YORK‘ CITY
    FROM DUAL
  UNION ALL
  SELECT ‘USA‘ NATION, ‘BOSTOM‘ CITY
    FROM DUAL
  UNION ALL
  SELECT ‘JAPAN‘ NATION, ‘TOKYO‘ CITY
    FROM DUAL)
SELECT NATION, LISTAGG(CITY, ‘,‘) WITHIN GROUP(ORDER BY CITY) AS CITIES
  FROM TEMP
 GROUP BY NATION

用法:
LISTAGG(‘待转的列‘,‘分割符号‘) WITHIN GROUP(ORDER BY 列字段) AS XXX 字段 FROM 表 WHERE 条件 group by 分组条件 ;


以上是关于oracle 行转列,用特殊符号拼接的主要内容,如果未能解决你的问题,请参考以下文章

oracle 结果集行转列,多行数据转为一行显示,第一列内容拼接生成字段名

oracle行转列sql怎么写?

oracle 使用pivot 函数进行批量数据的动态行转列

Mysql数据处理/行转列/列转行/分割/拼接/数据复制汇总

oracle行转列sql怎么写?

Oracle列转行,行转列