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