Różne kombinacje tych ustawień mogą dawać wyniki w postaci niepoprawnych lub częściowych danych. Dzieje się tak, ponieważ firma Microsoft uważała, że rozwiązanie tych problemów nie jest wystarczająco ważne. Wyjaśniam tylko, co dzieje się z plikami CSV podczas wysyłania wyników do pliku.
Aby uzyskać dobre wyniki, wykonaj następujące czynności:
Otwórz nowe okno zapytania (nowa karta / sesja) ... jeśli tego nie zrobisz, poniższa konfiguracja zostanie utracona i zostanie przywrócona wartość domyślna
Napisz zapytanie, aby obsłużyć cytat w cytacie, a także zawiń wszystkie typy danych w cudzysłów. Należy również pamiętać, że różne gramatyki DBMS i języków programowania akceptują inną składnię podwójnego cudzysłowu ze zmianą znaczenia (jeśli używasz tego wyjścia jako danych wejściowych dla innego systemu). Niektórzy używają \"
. Niektórzy używają ""
. Zastosowania XML "
; Prawdopodobnie był to powód, dla którego Microsoft zdecydował się zignorować tę funkcję, więc nie musieli zajmować się argumentami.
.. Jeśli sekwencja ucieczki nowego systemu to ""
.
SELECT '"' + REPLACE(CAST(column1 AS VARCHAR(MAX)), '"', '""') + '"' FROM table1
.. Jeśli sekwencja ucieczki nowego systemu to \"
.
SELECT '"' + REPLACE(CAST(column1 AS VARCHAR(MAX)), '"', '\"') + '"' FROM table1
Konfiguracja:
Opcje zapytania> Wyniki> „Uwzględnij nagłówki kolumn podczas kopiowania lub zapisywania wyników” zaznaczone
Opcje zapytania> Wyniki> "Cytuj ciągi zawierające separatory list przy zapisywaniu wyników .csv" - BROKEN; NIE UŻYWAĆ!
Opcje zapytania> Wyniki> inne niezaznaczone
Opcje zapytania> Wyniki> Tekst> rozdzielany przecinkami (ustawienie w prawym górnym rogu)
Opcje zapytania> Wyniki> Tekst> „Uwzględnij nagłówki kolumn w zestawie wyników” zaznaczone
Opcje zapytania> Wyniki> Tekst> inne niezaznaczone
Opcje zapytania> Wyniki> Tekst> „Maksymalna liczba znaków wyświetlanych w każdej kolumnie” - ustaw maksymalną długość, aby ciągi nie były obcinane.
Zapytanie> Wyniki do pliku (jest to przełączanie między wszystkimi 3 opcjami)
Wykonaj zapytanie (F5)
Pytaj o nazwę pliku raportu
Otwórz plik, aby zobaczyć wyniki
UWAGA: Jeśli musisz to robić regularnie, lepiej po prostu opracuj program, który zrobi to za Ciebie w .NET lub Javie, lub w jakimkolwiek innym języku, który Ci odpowiada. W przeciwnym razie istnieje duże prawdopodobieństwo popełnienia błędu. Następnie bądź bardzo świadomy składni systemu, do którego importujesz, zanim zdefiniujesz eksport z SQL Server.