【问题标题】:SSMS 2012 BULK INSERT string that sometimes contains quotesSSMS 2012 BULK INSERT 字符串,有时包含引号
【发布时间】:2013-12-05 05:05:41
【问题描述】:

尝试批量插入一个制表符分隔的 .txt 文件,其中包含许多列。

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

Joseph "Joe" Smith

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

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

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

【问题讨论】:

    标签: sql insert bulk


    【解决方案1】:

    这个问题的答案取决于您的预期结果。

    如果您想完全删除引号(即它被插入为“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, '""', '"')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      相关资源
      最近更新 更多