我需要将一个大型 CSV 文件导入 SQL 服务器。我正在使用这个:
BULK
INSERT CSVTest
FROM 'c:\csvfile.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
问题是我的所有字段都被引号(“”)包围,所以一行实际上看起来像:
"1","","2","","sometimes with comma , inside", ""
我可以以某种方式批量导入它们并告诉 SQL 使用引号作为字段分隔符吗?
编辑:使用 '","' 作为分隔符的问题,如示例中所建议的那样:大多数示例所做的是,它们导入的数据包括第一列中的第一个“和最后一列中的最后一个”,然后它们去吧,把它去掉。唉,我的第一列(也是最后一列)是日期时间,不允许将“20080902”作为日期时间导入。
从我一直在阅读的内容来看,我认为 FORMATFILE 是要走的路,但是文档(包括 MSDN)非常无用。