首页 >数据库 >mysql教程 >如何使用 BULK INSERT 高效地将包含逗号和双引号的 CSV 文件导入 SQL Server?

如何使用 BULK INSERT 高效地将包含逗号和双引号的 CSV 文件导入 SQL Server?

Linda Hamilton
Linda Hamilton原创
2025-01-19 07:20:10675浏览

How Can I Efficiently Import a CSV File with Commas and Double Quotes into SQL Server Using BULK INSERT?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn