Я использую Oracle SQL Developer 3.0. Попытка выяснить, как экспортировать результат запроса в текстовый файл (желательно CSV). Щелчок правой кнопкой мыши по окну результатов запроса не дает мне никаких параметров экспорта.
Версия, которую я использую
Обновление 5 мая 2012 года
Джефф Смит имеет blogged, показывающий, что я считаю является превосходным методом получения CSV-вывода от SQL Developer. Метод Джефф показан ниже как метод 1:
Метод 1
Добавьте комментарий /*csv*/
в свой SQL-запрос и запустите запрос как script (используя F5 или вторую кнопку выполнения на панели инструментов листа)
Что это.
Метод 2
Запустить запрос
Щелкните правой кнопкой мыши и выберите выгрузку.
Обновить. В Sql Developer Version 3.0.04 выгрузка была изменена для экспорта Спасибо Janis Peisenieks за указание на это
Пересмотренный снимок экрана для SQL Developer версии 3.0.04
В раскрывающемся списке выберите CSV
И следуйте инструкциям на экране.
Не совсем "экспорт", но вы можете выбрать строки (или Ctrl - A, чтобы выбрать их все) в сетке, которую вы хотите экспортировать, а затем скопировать с помощью Ctrl - C.
По умолчанию используется разделитель табуляции. Вы можете вставить это в Excel или какой-либо другой редактор и манипулировать разделителями, которые вам нравятся.
Кроме того, если вы используете Ctrl - Shift - C вместо Ctrl - C, вы также скопируете заголовки столбцов.
FYI, вы можете заменить /*csv*/
для других форматов, включая /*xml*/
и /*html*/
.
select /*xml*/ * from emp
вернет XML-документ с результатами запроса, например.
Я столкнулся с этой статьей, ища простой способ вернуть xml из запроса.
FYI для всех, кто сталкивается с проблемами, есть ошибка в экспорте времени CSV, который я потратил всего несколько часов на работу. Некоторым полям, которые мне нужно было экспортировать, относятся к типу времени. Кажется, опция экспорта CSV даже в текущей версии (3.0.04 на момент публикации) не помещает символы группировки вокруг временных меток. Очень расстраивает, так как пробелы в метках времени нарушили мой импорт. Лучшим обходным решением, которое я нашел, было написать мой запрос с TO_CHAR() на всех моих временных отметках, что дает правильный результат, хотя и с немного большей работой. Надеюсь, это сэкономит кому-то время или получит Oracle на шаре с их следующей версией.
MDSYS.SDO_GEOMETRY(2001,8307,MDSYS.SDO_POINT_TYPE(-122.39096,37.79251,NULL),NULL,NULL)
без кавычек. И я использую динамический SQL, поэтому я не могу TO_CHAR () эти столбцы. Какие-либо предложения?
Экспорт CSV не удаляет ваши данные. Следите за строками, которые заканчиваются на \
, потому что полученный \"
будет выглядеть как экранированный "
, а не \
. Тогда у вас неправильный номер "
, и вся ваша строка сломана.
"foo\"
- это совершенно корректная строка в кавычках.