ホームページ >データベース >mysql チュートリアル >CSV ファイルを SQL Server に効率的にインポートし、カンマ、二重引用符、不正なデータを処理するにはどうすればよいですか?

CSV ファイルを SQL Server に効率的にインポートし、カンマ、二重引用符、不正なデータを処理するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-19 07:27:09783ブラウズ

How Can I Efficiently Import CSV Files into SQL Server, Handling Commas, Double Quotes, and Bad Data?

SQL Server への CSV ファイルのインポートをマスターする: 主要な課題に対処する

このガイドでは、BULK INSERT コマンドを使用して CSV ファイルを SQL Server にインポートするときに遭遇する一般的な障害について説明します。 3 つの主要な問題とその効果的な解決策を検討します。

課題 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>

これらの手法を実装することで、SQL Server への CSV インポート プロセスを合理化し、潜在的なデータの不整合を効果的に管理できます。

以上がCSV ファイルを SQL Server に効率的にインポートし、カンマ、二重引用符、不正なデータを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。