如何将列数据连接成以“,”分隔的字符串?

时间:2014-04-17 13:57:57

标签: sql oracle oracle11gr1

我有这样的数据

ATTRIBUTE_NAME
--------------
Area
Branch
Sector
Data Line

我需要获得这样的数据

Area","Branch","Sector","Data Line

OR

"Area","Branch","Sector","Data Line"

或更简单的东西。我试过了:

  • WM_CONCAT但我无法指定分隔符
  • 我的Oracle版本不支持
  • LISTAGG
  • SYS_CONNECT_BY_PATH我不确定如何使用

我正在使用Oracle 11.1.0.6

1 个答案:

答案 0 :(得分:1)

在聚合之前将额外的分隔符连接到列上:

select wm_concat('"' || attribute_name || '"')
  from my_table

您应该注意WM_CONCAT()是一个不受支持的功能,最好将数据库升级到至少11.2(如果不是12)以利用增加的功能。