可能重复:
SQL Server Bulk insert of CSV file with inconsistent quotes
我已获得一百万行CSV导入SQL Server,基本上是这样的:
“A”,B,C,d, “E”, “F”
过去我已经使用OPENROWSET BULK和一个格式文件来完成它,该格式文件适用于CSV文件,没有任何数据或带引号的所有列的引号。
人们通常会做什么来处理像这样的CSV和一些FormatFile,其中有些引号是圆形而某些字段不是?
注意:我将与另一个表交叉加入,而不是从CSV导入所有coumns,这就是我使用OpenRowset Bulk的原因(我也无法访问服务器上的bcp)。
答案 0 :(得分:2)
SQL Server Bulk insert of CSV file with inconsistent quotes中提供的解决方案建议预处理文件。根据您的示例,您可以使用以下更新语句来更正数据,但这仅在引号不包含逗号的数据时才有效。
UPDATE @table
SET value = CASE WHEN LEFT(value, 1) = '"'
AND RIGHT(value, 1) = '"'
THEN SUBSTRING(value, 2, LEN(value) - 2)
ELSE value
END
答案 1 :(得分:0)
您可以先找到并替换文本文件中的所有双引号。然后您可以使用逗号(,)作为分隔符进行正常的批量插入。