sql >> Database >  >> RDS >> Sqlserver

CSV-import in SQL Server 2008

Je zou een niet-xml-bestand kunnen gebruiken om een ​​ander scheidingsteken per kolom op te geven. Voor waarden tussen dubbele aanhalingstekens en gescheiden door tabs, kan het scheidingsteken \",\" zijn . U moet een eerste ongebruikte kolom toevoegen om het eerste citaat vast te leggen. Om bijvoorbeeld dit bestand te lezen:

"row1col1","row1col2","row1col3"
"row2col1","row2col2","row2col3"
"row3col1","row3col2","row3col3"

Je zou dit bestandsformaat kunnen gebruiken:

10.0
4
1  SQLCHAR 0 50 "\""     0 unused ""
2  SQLCHAR 0 50 "\",\""  1 col1   ""
3  SQLCHAR 0 50 "\",\""  2 col2   ""
4  SQLCHAR 0 50 "\"\r\n" 3 col3   ""

(Het getal op de eerste regel is afhankelijk van de SQL Server-versie. Het getal op de tweede regel is het aantal kolommen dat moet worden gelezen. Vergeet niet dit aan te passen .)

De bulk insert commando accepteert een formatfile = 'format_file_path' parameter waar u het formaatbestand kunt specificeren. Bijvoorbeeld:

BULK INSERT YourTable
FROM 'c:\test\test.csv'
WITH (FORMATFILE = 'c:\test\test.cfmt')

Dit resulteert in:

select * from YourTable
-->
col1        col2        col3
row1col1    row1col2    row1col3
row2col1    row2col2    row2col3
row3col1    row3col2    row3col3


  1. Gegevens uit 2 tabellen samenvoegen

  2. Verplaats modx-site van submap naar hoofdmap

  3. Maak een lijst met alle maanden van een datumkolom in ORACLE SQL

  4. Hoe geef ik een unieke beperking op voor meerdere kolommen in MySQL?