【发布时间】:2013-12-05 05:05:41
【问题描述】:
尝试批量插入一个制表符分隔的 .txt 文件,其中包含许多列。
给我问题的只是一个文本字符串。它有时在字符串中包含引号。喜欢:
Joseph "Joe" Smith
当我批量插入时,该字段(as varchar(100))将像
一样插入"Joseph ""Joe"" Smith"
我确信答案相当简单,但我的所有搜索都出现了引号分隔字段的问题,这不是我的问题。
【问题讨论】:
尝试批量插入一个制表符分隔的 .txt 文件,其中包含许多列。
给我问题的只是一个文本字符串。它有时在字符串中包含引号。喜欢:
Joseph "Joe" Smith
当我批量插入时,该字段(as varchar(100))将像
一样插入"Joseph ""Joe"" Smith"
我确信答案相当简单,但我的所有搜索都出现了引号分隔字段的问题,这不是我的问题。
【问题讨论】:
这个问题的答案取决于您的预期结果。
如果您想完全删除引号(即它被插入为“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, '""', '"')
【讨论】: