Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Импортиране на CSV в SQL Server 2008

Можете да използвате файл във формат извън xml за да зададете различен разделител за колона. За стойности, оградени с двойни кавички и разделени с табулатори, разделителят може да бъде \",\" . Ще трябва да добавите начална неизползвана колона, за да заснемете първия цитат. Например, за да прочетете този файл:

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

Можете да използвате този формат на файл:

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   ""

(Числото на първия ред зависи от версията на SQL Server. Числото на втория ред е броят на колоните за четене. Не забравяйте да го коригирате .)

bulk insert команда приема formatfile = 'format_file_path' параметър, където можете да посочите файла с формат. Например:

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

Това води до:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте вложени JSON масиви, като използвате FOR JSON PATH

  2. Премахване на дублиращи се стойности въз основа само на една колона от таблицата

  3. Изчисляване на SQL Server ROW_NUMBER() OVER() за извлечена таблица

  4. Използване на INSERT INTO от SQL Server за промяна на данните на Salesforce

  5. Как правите заявка в int колона за произволна стойност?