可能重复: SQL Server Bulk insert of CSV file with inconsistent quotes
给我一百万行CSV导入SQL Server,基本上如下所示:
"A“、B、C、D、"E”、"F“
在过去,我使用了OPENROWSET大容量和一个格式文件来满足CSV文件,没有任何数据的引号,或者所有列都有引号。
人们通常会做些什么来处理像这样的CSV和一个FormatFile (有些有引号,而有些字段没有引用)?
注意:我将与另一个表交叉连接,而不是从CSV导入所有的连接,这就是为什么我使用OpenRowset大容量(而且我也不能在服务器上访问bcp )。
发布于 2012-07-19 03:10:30
SQL Server Bulk insert of CSV file with inconsistent quotes中提供的解决方案建议对文件进行预处理。以您的示例为例,您可以使用以下update语句更正数据,但是只有在引号不是包含逗号的数据周围时才能使用。
UPDATE @table
SET value = CASE WHEN LEFT(value, 1) = '"'
AND RIGHT(value, 1) = '"'
THEN SUBSTRING(value, 2, LEN(value) - 2)
ELSE value
END发布于 2012-07-19 04:51:03
您可以首先使用nothing.Then查找并替换文本文件中的所有双引号,您可以使用逗号(,)作为分隔符执行正常的大容量插入操作。
https://stackoverflow.com/questions/11550758
复制相似问题