Ответ 1
Проверьте документацию Oracle:
Вы можете создать вкладку в Oracle, используя вкладку ASCII-значение 9 и функцию chr:
select chr(9) from dual;
У кого-нибудь есть хороший набор конфигурационных конфигураций sqlplus, чтобы помочь преобразовать заданный SQL-запрос в удобный вывод с разделителями вкладок для втягивания в электронную таблицу или дальнейшей обработки?
Проверьте документацию Oracle:
Вы можете создать вкладку в Oracle, используя вкладку ASCII-значение 9 и функцию chr:
select chr(9) from dual;
Как указал Джастин в своей ссылке, с помощью функции set colsep
команда SQLPlus сохраняет ввод разделителя для каждого столбца.
Но для разделителя табуляции set colsep Chr(9)
не будет работать.
Для UNIX или LINUX используйте set colsep ' '
, где пробел между одиночными кавычками является типизированной вкладкой.
Для Windows используйте следующие настройки:
col TAB# new_value TAB NOPRINT
select chr(9) TAB# from dual;
set colsep "&TAB"
select * from table;
Один конкретный script, который я украл несколько раз, происходит из потока AskTom на извлечении данных в плоский файл. Если бы мне понадобился быстрый и грязный плоский файл из SQL * Plus. Я бы предпочел, чтобы функция DUMP_CSV, опубликованная ранее в этом потоке для любого процесса.
У меня есть глупое решение. Он работал очень хорошо.
SELECT column1 || CHR(9) || column2 || CHR(9) || column3 ... ...
FROM table
Собственно, это просто конкатенация строк.
CHR (9) → '\ t'
column1 || CHR (9) || column2 → concat (column1, '\ t', column2)