Oracle-如何编写查询以返回用管道分隔的列标题名称?

猫咪

我希望查询返回以管道分隔的标题名称。我在网上找到了一些参考资料,但找不到我想要的。

我想要这样的返回,不需要输出文件,只需查询结果即可:

column1 |列2 |列3 |列4 | ........ |列N

我试了一下:SELECT /分隔/从tableName其中rownum <1; 使用F5作为脚本运行。

“ UPC”,“ UPC_DESCRIPTION”,“ ITEM_CODE”,“ DEPT_CODE”

但是结果是逗号分隔的,并带有引号括起来。-我不想要。

实际上,我有那么多列,是否有一种简单的方法/简单的查询就可以返回ALL标头(以竖线分隔),而无需手动键入每个?

谢谢你的帮助!!

卡珀

你不能只是做:

select col1 || '|' || col2 || '|' || col3 || '|' || col4 || '|' || col5
  from table;

您可以产生您的查询:

select 'select ' || LISTAGG(column_name , ' || ''|'' || ') within group (order by column_id) || ' from my_table' 
  from user_tab_columns 
  where table_name = 'MY_TABLE';

如果您只想获取数据标题,请执行以下操作:

select LISTAGG(column_name, '|') within group (order by column_id)
      from user_tab_columns 
      where table_name = 'MY_TABLE';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章