尝试BULK INSERT一个带有多个列的制表符分隔的.txt文件。
给我问题的那个只是一个文本字符串。它有时在字符串中包含引号。像:
Joseph "Joe" Smith
当我批量插入时,该字段(如varchar(100))将像
一样插入"Joseph ""Joe"" Smith"
我确信答案相当简单,但我的所有搜索都会出现引号分隔字段的问题,而这不是我的问题。
答案 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, '""', '"')