Різні комбінації цих параметрів можуть привести до результатів, які є неправильними або частковими даними. Це тому, що 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 результатів» - ЗБІЙ; НЕ ВИКОРИСТОВУВАТИ!
Параметри запиту> Результати> інші не позначені
Параметри запиту> Результати> Текст> розділена комами (налаштування у верхньому правому куті)
Параметри запиту> Результати> Текст> Позначено "Включити заголовки стовпців у набір результатів"
Параметри запиту> Результати> Текст> інші не позначені
Параметри запиту> Результати> Текст> "Максимальна кількість символів, що відображаються в кожному стовпці" - встановлено максимальну довжину, щоб рядки не усікалися.
Запит> Результати до файлу (це перемикання між усіма 3 параметрами)
Виконати запит (F5)
Запит назви файлу звіту
Відкрийте файл, щоб переглянути результати
ПРИМІТКА. Якщо вам потрібно робити це регулярно, вам краще просто розробити програму, яка зробить це за вас у .NET або Java або будь-якою мовою, яка вам зручна. В іншому випадку у вас велика ймовірність помилитися. Тоді надзвичайно знайте про синтаксис системи, до якої ви імпортуєте, перед тим, як визначити експорт із SQL Server.