在批量插入之前删除双引号

时间:2018-02-22 00:54:24

标签: sql-server csv bulkinsert

我正在尝试使用批量插入加载文件,但数据未正确插入,因为某些数据被引号覆盖。

我尝试过使用格式文件,但由于该列中的所有行都不包含引号,因此无效。只有一些。 e.g。

columna
abc
cdf
"dfd"
dfs
"aee"

所以我的格式文件不起作用。

我的批量插入代码:

bulk insert tablename
from 'C:/...'
 with 
(
    FIRSTROW = 2,  
    rowterminator = '0x0a' 
    ,formatfile = 'file.fmt'
     )

格式文件:

10.0
5
1       SQLCHAR             0       1000      ","       1      "a"                           ""
2       SQLCHAR             0       1000      ",\""       2     "b"                 ""
3       SQLCHAR             0       1000      "\",\""       3      "d" <- has quotes  ""                              
4       SQLCHAR             0       1000      ",\""     4      "e"                          ""
5       SQLCHAR             0       1000      "\n"   5      "f"            

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果没有其他方法可以删除列中的双引号,那么您可以执行的操作是使用public void Append(TypeA item || TypeB item)更新受影响的列的后续处理

replace