sql >> Databáze >  >> RDS >> Sqlserver

Importujte soubor CSV do SQL Serveru

Import CSV na SQL Server

1) Data souboru CSV mohou mít , (čárka) mezi (Příklad:popis), jak tedy mohu provést import zpracovávající tato data?

Řešení

Pokud používáte , (čárka) jako oddělovač, pak neexistuje způsob, jak rozlišit mezi čárkou jako ukončovacím znakem pole a čárkou ve vašich datech. Použil bych jiný FIELDTERMINATOR jako || . Kód by vypadal takto a toto si perfektně poradí s čárkou a jedním lomítkem.

2) Pokud klient vytvoří csv z excelu, pak jsou data, která mají čárku, uzavřena v " ... " (dvojité uvozovky) [jako níže uvedený příklad], jak to tedy import zvládne?

Řešení

Pokud používáte BULK insert, pak neexistuje způsob, jak zpracovat dvojité uvozovky, data budou vložena s dvojitými uvozovkami do řádků. Po vložení dat do tabulky můžete tyto dvojité uvozovky nahradit ' '.

update table
set columnhavingdoublequotes = replace(columnhavingdoublequotes,'"','')

3) Jak můžeme sledovat, pokud některé řádky obsahují špatná data, které import přeskakuje? (import přeskakuje řádky, které nelze importovat)?

Řešení

Chcete-li zpracovat řádky, které nejsou načteny do tabulky kvůli neplatným datům nebo formátu, můžete použít vlastnost ERRORFILE, zadejte název souboru chyby, zapíše se chyba rowshaving do souboru chyby. kód by měl vypadat takto.

BULK INSERT SchoolsTemp
    FROM 'C:\CSVData\Schools.csv'
    WITH
    (
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '\n',   --Use to shift the control to next row
    ERRORFILE = 'C:\CSVDATA\SchoolsErrorRows.csv',
    TABLOCK
    )


  1. Předání varchar plného hodnot oddělených čárkou do funkce SQL Server IN

  2. JSON_REMOVE() – Odebrání dat z dokumentu JSON v MySQL

  3. Nyní nebo brzy jsou k dispozici další online operace

  4. Chyba:Nelze vytvořit TypedQuery pro dotaz s více než jedním návratem