将列中的数据显示为一行

时间:2016-11-16 06:14:22

标签: oracle oracle11g

我想以CSV方式获取表格的列名。

select column_name from all_tab_columns where table_name = 'USER_TABLE';

USER_TABLE有五列,如下所示

Column_name
-------------
A
B
C
D
E

但我需要输出为,

A, B, C, D, E

2 个答案:

答案 0 :(得分:1)

您可以使用LISTAGG生成表格中列名称的CSV列表:

SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name) "Column Names"
FROM all_tab_columns
WHERE table_name = 'USER_TABLE'

答案 1 :(得分:1)

LISTAGG是从oracle到那个的东西:

SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY  column_id) csv
FROM all_tab_columns
where table_name = 'USER_TABLE';