使用 BULK INSERT 将 CSV 文件导入 SQL Server
处理逗号分隔数据的挑战
使用 BULK INSERT 将 CSV 文件导入 SQL Server 时,处理字段内包含逗号的数据可能是一个挑战。为了解决这个问题,可以考虑使用不同的字段分隔符,例如管道字符 (|)。
处理双引号
如果 CSV 文件是从 Excel 导出的,包含逗号的字段值将用双引号括起来。不幸的是,BULK INSERT 无法直接处理双引号。作为一种变通方法,可以先将数据导入暂存表,然后使用 UPDATE 语句删除双引号。
跟踪无效行
为了跟踪由于数据无效而未能导入的行,请使用 ERRORFILE 属性。此属性指定一个错误文件位置,无法导入的行将写入该位置。以下修改后的 BULK INSERT 语句演示了这一点:
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( FIRSTROW = 2, FIELDTERMINATOR = ',', -- CSV 字段分隔符 ROWTERMINATOR = '\n', -- 用于将控制转移到下一行 ERRORFILE = 'C:\CSVDATA\SchoolsErrorRows.csv', TABLOCK )</code>
以上是如何使用 BULK INSERT 高效地将包含逗号和双引号的 CSV 文件导入 SQL Server?的详细内容。更多信息请关注PHP中文网其他相关文章!