dados de exportação em CSV usando arquivo bat

votos
0

Estou tentando exportar meus dados para arquivo CSV usando o comando abaixo. Eu estou usando-s, por delimitada por vírgulas. Ele está trabalhando bem, mas eu enfrentar um problema quando meu nome cliente tem vírgula (,) no interior. Neste caso, ele está cortando o nome do cliente em duas colunas diferentes. Como posso resolver esse problema?

sqlcmd -S. -d MYDB -E Q set NOCOUNT ON; selecione 'customer_id', 'customer_name', 'salesrep_id'; selecione clienteid, salesrep_id do cliente, onde customer_id = 106866 -b -o C: \ Customer.csv -h -1 -s, -w 700

Publicado 10/10/2019 em 00:53
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Seria bom saber seus tipos de dados. Mas, geralmente colocar varchar entre aspas duplas. Aqui está a idéia básica:

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

Eu geralmente gosto de criar explicitamente a linha CSV mim mesmo, então meus seleciona normalmente se parecem mais com isto:

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

Se houver colunas que são números, então eu converter a coluna para varchar e não colocar aspas em torno dele.

Respondeu 10/10/2019 em 04:48
fonte usuário

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