Различные комбинации этих настроек могут привести к получению неверных или неполных данных. Это связано с тем, что Microsoft не считала необходимым исправить эти проблемы. Я только объясняю, что происходит с CSV-файлами при отправке результатов в файл.
Чтобы добиться хороших результатов, сделайте следующее:
Откройте новое окно запроса (новая вкладка / сеанс) ... если вы этого не сделаете, приведенная ниже конфигурация будет потеряна и вернется к значениям по умолчанию
Напишите запрос для обработки цитаты внутри цитаты, а также заключите все строковые типы данных в кавычки. Также имейте в виду, что разные грамматики СУБД и языков программирования допускают разный синтаксис для экранированных двойных кавычек (при использовании этого вывода в качестве ввода для другой системы). Некоторые используют \"
. Некоторые используют ""
. XML использует "
;. Вероятно, причина, по которой Microsoft решила проигнорировать эту функцию, поэтому им не пришлось разбираться с аргументами.
.. Если Escape Sequence новой системы есть ""
.
SELECT '"' + REPLACE(CAST(column1 AS VARCHAR(MAX)), '"', '""') + '"' FROM table1
.. Если Escape Sequence новой системы есть \"
.
SELECT '"' + REPLACE(CAST(column1 AS VARCHAR(MAX)), '"', '\"') + '"' FROM table1
Конфигурация:
Параметры запроса> Результаты> "Включить заголовки столбцов при копировании или сохранении результатов" установлен.
Параметры запроса> Результаты> «Цитировать строки, содержащие разделители списков при сохранении результатов .csv» - ПОВРЕЖДЕНО; НЕ ИСПОЛЬЗОВАТЬ!
Параметры запроса> Результаты> другие не отмечены
Параметры запроса> Результаты> Текст> через запятую (настройка в правом верхнем углу)
Параметры запроса> Результаты> Текст> установлен флажок «Включить заголовки столбцов в набор результатов».
Параметры запроса> Результаты> Текст> другие не отмечены
Параметры запроса> Результаты> Текст> «Максимальное количество символов, отображаемых в каждом столбце» - установите максимальную длину, чтобы строки не усекались.
Запрос> Результаты в файл (это переключение между всеми тремя вариантами)
Выполнить запрос (F5)
Запрашивать имя файла отчета
Откройте файл, чтобы посмотреть результаты
ПРИМЕЧАНИЕ. Если вам нужно делать это на регулярной основе, вам лучше просто разработать программу, которая сделает это за вас на .NET или Java, или на любом другом языке, который вам удобен. Иначе велика вероятность ошибиться. Затем внимательно изучите синтаксис системы, в которую вы импортируете, прежде чем определять экспорт из SQL Server.