esportare dati in formato CSV utilizzando file bat

voti
0

Sto cercando di esportare i miei dati in un file CSV utilizzando sotto comando. Sto usando -s, per virgola delimitato. Sta funzionando bene, ma io affrontare un problema quando il mio nome cliente ha virgola (,) all'interno. In questo caso si sta tagliando il nome del cliente in due colonne differenti. Come posso risolvere questo problema?

sqlcmd -S. -d MYDB -E -Q SET NOCOUNT su; selezionare 'customer_id', 'customer_name', 'salesrep_id'; selezionare customer_id, customer_name, salesrep_id dal cliente dove customer_id = 106.866 -b -o C: \ Customer.csv -h -1 -s, -w 700

È pubblicato 10/10/2019 alle 00:53
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

Sarebbe bello sapere i vostri tipi di dati. Ma in generale messo varchar tra virgolette. Ecco l'idea molto semplice:

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

Io generalmente piace creare in modo esplicito la linea csv me stesso, così i miei seleziona di solito un aspetto più simile a questo:

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

Se ci sono le colonne che sono i numeri, poi converto la colonna a varchar e non metto le virgolette intorno ad esso.

Risposto il 10/10/2019 a 04:48
fonte dall'utente

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