>데이터 베이스 >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로 가져올 때 발생하는 일반적인 문제를 해결합니다. 세 가지 주요 문제와 효과적인 해결책을 살펴보겠습니다.

도전과제 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.