首页 文章

批量导入CSV文件到SQL Server - 删除双引号

提问于
浏览
2

我正在运行SQL 2008,批量插入命令,同时插入数据,我试图从CSV文件中删除(“)双引号,这部分工作,但不适用于所有记录,请检查我的代码和截图结果 .

Bulk Insert tblUsersXTemp 
 from 'C:\FR0250Members161212_030818.csv'
 WITH (FIELDTERMINATOR = '","', 
 ROWTERMINATOR = '"\n"',
 --FormatFile =''
 ERRORFILE = 'C:\bulk_insert_BadData.txt')

enter image description here

2 回答

  • 2

    执行批量插入后,您可以替换双引号 .

    UPDATE tblUsersXTemp
    SET usxMembershipID = REPLACE(usxMembershipID, CHAR(34), '')
    
  • 1

    你需要一个我认为的格式文件,这就是我的想法 .

    如果使用以下批量插入命令在不使用格式文件的情况下导入数据,则将使用第一列值的引号前缀和最后一列值的引号后缀以及引号前缀为第一列值 .

    Reference

    参考示例:

    BULK INSERT tblPeople
       FROM ‘bcp.txt’
       WITH (
          DATAFILETYPE=‘char’,
          FIELDTERMINATOR=‘","’,
          ROWTERMINATOR = ‘\n’,
          FORMATFILE = ‘bcp.fmt’);
    

    您还可能拥有使用引号的脏数据,而不仅仅是分隔符 .

相关问题