Eksport danych w formacie CSV przy użyciu pliku bat

głosy
0

Próbuję eksportować dane do pliku csv za pomocą poniższego polecenia. Używam -s, dla rozdzielany przecinkami. To działa dobrze, ale mam jeden problem, gdy twarz nazywam klient ma przecinek (,) do środka. W tym przypadku jest to cięcie nazwę klienta w dwóch różnych kolumn. Jak rozwiązać ten problem?

sqlcmd -S. -d MYDB -E -Q ustawiony na nocount; wybierz 'customer_id', 'CUSTOMER_NAME', 'salesrep_id'; wybierz customer_id, CUSTOMER_NAME, salesrep_id od klienta, gdzie customer_id = 106866 -b -o C: \ customer.csv -h -1 -s, -w 700

Utwórz 10/10/2019 o 00:53
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Byłoby miło, aby znać swoje typy danych. Ale ogólnie varchar umieścić w cudzysłowach. Oto bardzo prosty pomysł:

select customer_id, '"' + customer_name + '"', salesrep_id from customer where customer_id=106866

Ja generalnie lubię jawnie tworzyć linię myself csv, więc moje wybiera zwykle wyglądają tak:

select '"' + customer_id + '","' + customer_name + '"," + salesrep_id + '"' from customer where customer_id=106866

Jeśli są kolumny, które są liczbami, a następnie przekonwertować kolumnę varchar i nie umieścić cudzysłów wokół niego.

Odpowiedział 10/10/2019 o 04:48
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more