【发布时间】:2008-09-18 20:17:14
【问题描述】:
我需要将一个大型 CSV 文件导入 SQL 服务器。我正在使用这个:
BULK
INSERT CSVTest
FROM 'c:\csvfile.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
问题是我的所有字段都被引号(“”)包围,所以一行实际上看起来像:
"1","","2","","sometimes with comma , inside", ""
我能否以某种方式批量导入它们并告诉 SQL 使用引号作为字段分隔符?
编辑:使用 '","' 作为分隔符的问题,如建议的示例所示: 大多数示例所做的是,他们导入数据,包括第一列中的第一个“和最后一列中的最后一个”,然后他们继续将其删除。唉,我的第一列(也是最后一列)是日期时间,不允许将“20080902 作为日期时间导入”。
从我一直在阅读的内容来看,我认为 FORMATFILE 是可行的方法,但文档(包括 MSDN)非常无用。
【问题讨论】:
-
您应该重新标记此 sqlserver,以便我们知道您使用的是什么数据库。
标签: sql sql-server tsql bulkinsert