SQL Server BCP:如何在所有字段周围加上引号?

Abs*_*Abs 9 sql-server csv bcp

我有这个BCP命令:

'bcp DBName..vieter out c:\test003.txt -c -T /t"\",\"" -S SERVER'
Run Code Online (Sandbox Code Playgroud)

我得到的输出CSV不会在字段名称周围加上引号,而是将它放在逗号周围!如何/t"\",\""在所有字段周围输入引号.

谢谢大家

Pau*_*sey 10

除了字段终止符之外,设置行终止符应该可以解决问题

'bcp DBName..vieter out c:\test003.txt -c -T -t"\",\"" -r"\"\n\"" -S SERVER'
Run Code Online (Sandbox Code Playgroud)

这可能会有效,但是错过了领先的"第一线的第一个领域,也许是最后一个,我不确定,只是猜测真的,这里没有服务器!

或尝试使用QUOTENAME包装文本字段(您也可以包装数字,但通常不需要.

'bcp "SELECT id, age, QUOTENAME(name,'"') FROM DBName..vieter" queryout c:\test003.txt -c -T -t"," -S SERVER'
Run Code Online (Sandbox Code Playgroud)

  • 请注意:[QUOTENAME](https://learn.microsoft.com/en-us/sql/t-sql/functions/quotename-transact-sql) 仅支持长度最多为 **128** 个字符的输入字符串,因此它不适用于较长的字段值。 (4认同)

小智 8

您需要使用CHAR(34)作为报价.此页面提供了更多详细信息:http://www.sqlteam.com/forums/topic.asp?TOPIC_ID = 153000