SSMS 2012 BULK INSERT字符串,有时包含引号

时间:2013-11-20 22:59:42

标签: sql insert bulk

尝试BULK INSERT一个带有多个列的制表符分隔的.txt文件。

给我问题的那个只是一个文本字符串。它有时在字符串中包含引号。像:

Joseph "Joe" Smith

当我批量插入时,该字段(如varchar(100))将像

一样插入
"Joseph ""Joe"" Smith"

我确信答案相当简单,但我的所有搜索都会出现引号分隔字段的问题,而这不是我的问题。

1 个答案:

答案 0 :(得分:0)

答案取决于您的预期结果。

如果你想完全删除引号(即它被插入'Joseph Joe Smith'),那么你需要创建一个格式文件并在批量插入语句中指定它。

以下链接将提供有关格式文件内容以及如何创建/使用格式文件的更多信息:http://blogs.msdn.com/b/sqlserverfaq/archive/2010/02/04/how-to-remove-unwanted-quotation-marks-while-importing-a-data-file.aspx

如果你希望值对于输入值是真的(即'Joseph“Joe”Smith'),那么你最好的选择是保留你所拥有的内容并使用更新语句并使用REPLACE功能。由于你有双引号,它应该是相对简单的更新语句。

Update YourTable
Set Name = REPLACE(Name, '""', '"')