10

私はこのBCPコマンドを持っています:

'bcp DBName..vieter out c:\test003.txt -c -T /t"\",\"" -S SERVER'

私が取得した出力 CSV は、フィールド名を引用符で囲んでおらず、代わりにコンマで囲んでいます! /t"\",\""すべてのフィールドを引用符で囲むにはどうすればよいですか。

皆さんありがとう

4

7 に答える 7

11

フィールドターミネータに加えて行ターミネータを設定するとうまくいくはずです

'bcp DBName..vieter out c:\test003.txt -c -T -t"\",\"" -r"\"\n\"" -S SERVER'

これはおそらくうまくいくでしょうが、最初の行の最初のフィールドと、おそらく最後の行の最後のフィールドの先頭の " を見落としています - よくわかりませんが、本当に推測しているだけで、ここにはサーバーがありません!

または、QUOTENAME を使用してテキスト フィールドをラップしてみてください (数値をラップすることもできますが、通常は必要ありません)。

'bcp "SELECT id, age, QUOTENAME(name,'"') FROM DBName..vieter" queryout c:\test003.txt -c -T -t"," -S SERVER'
于 2010-01-13T23:37:49.217 に答える
8

引用符には CHAR(34) を使用する必要があります。このページには詳細があります: http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=153000

于 2012-12-20T08:24:45.523 に答える
1
bcp "SELECT char(34) + * +char(34) FROM atable queryout "C:\temp\out.csv" -T -N -c /t"\",\""

これにより、各フィールドの前後に引用符が挿入されます (最初と最後を含む)。

于 2018-02-26T20:59:42.290 に答える