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

时间:2016-12-14 17:44:45

标签: sql-server

我正在运行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 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

  

如果您使用以下批量插入命令导入数据而不使用格式文件,那么您将使用引号标记前缀到第一列值,并使用引号标记后缀为最后一列值和引号第一列值的前缀。

Reference

参考例子:

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

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