本指南解決了使用 BULK INSERT
指令將 CSV 檔案匯入 SQL Server 時遇到的常見障礙。我們將研究三個主要問題及其有效的解決方案。
挑戰 1:在資料欄位中嵌入逗號
CSV 資料通常在欄位中包含逗號(例如,「John Doe, Jr.」),BULK INSERT
將其解釋為欄位分隔符號。 解決方案是在 BULK INSERT
語句中指定替代欄位分隔符,例如「||」:
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( FIELDTERMINATOR = '||' )</code>
挑戰 2:處理 Excel 匯出中的雙引號
Excel 匯出的 CSV 檔案經常使用雙引號來封裝包含逗號的欄位。 BULK INSERT
本身並不支持這一點。導入後 UPDATE
語句可以有效刪除這些引號:
<code class="language-sql">UPDATE table SET column_with_quotes = REPLACE(column_with_quotes, '"', '')</code>
挑戰 3:辨識與管理無效資料
要找出包含無法匯入的有問題資料的行,請使用 ERRORFILE
選項。這指示 BULK INSERT
將這些行的詳細資訊寫入單獨的錯誤檔案:
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( ERRORFILE = 'C:\CSVData\SchoolsErrorRows.csv' )</code>
透過實作這些技術,您可以簡化將 CSV 匯入 SQL Server 的過程,並有效管理潛在的資料不一致問題。
以上是如何有效率地將 CSV 檔案匯入 SQL Server,處理逗號、雙引號和錯誤資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!