Oracle - Как написать запрос для возврата имени заголовка столбца с разделителем канала?

Я хочу, чтобы запрос возвращал имя заголовка с разделителем трубы. Я нашел ссылку в Интернете, но не смог получить именно то, что хочу.

Я хочу что-то вроде возврата, не нужно выводить файл, просто результат запроса:

column1 | column2 | колонка3|column4|.......|columnN

Я попробовал это: SELECT /delimited/ from tableName где rownum<1; Запустите как скрипт, используя F5.

"СКП","UPC_DESCRIPTION","ITEM_CODE","DEPT_CODE"

Но результат разделен запятой и имеет кавычки. - Я не хочу этого.

На самом деле у меня так много столбцов, есть ли простой способ / простой запрос вернуть заголовок ВСЕ (с разделителями канала) без ввода каждого из них вручную?

Спасибо за любую помощь!

1 ответ

Решение

Вы не можете просто сделать:

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';
Другие вопросы по тегам