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

Импортирайте CSV файл в SQL Server

Базиран SQL Server CSV импорт

1) Данните на CSV файла може да имат , (запетая) между тях (Например:описание), така че как мога да направя импортирането да обработва тези данни?

Решение

Ако използвате , (запетая) като разделител, тогава няма начин да се прави разлика между запетая като терминатор на полето и запетая във вашите данни. Бих използвал различен FIELDTERMINATOR като || . Кодът ще изглежда така и това ще се справи перфектно със запетая и единична наклонена черта.

2) Ако клиентът създаде csv от excel, тогава данните, които имат запетая, са затворени в " ... " (двойни кавички) [като примера по-долу], така че как импортирането може да се справи с това?

Решение

Ако използвате BULK insert, тогава няма начин да се справите с двойни кавички, данните ще бъдат вмъкнати с двойни кавички в редове. След като вмъкнете данните в таблицата, можете да замените тези двойни кавички с „ '.

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

3) Как да проследим, ако някои редове имат лоши данни, които импортирането пропуска? (импортирането пропуска ли редове, които не могат да бъдат импортирани)?

Решение

За да обработвате редове, които не са заредени в таблицата поради невалидни данни или формат, може да се манипулира с помощта на свойството ERRORFILE, посочете името на файла за грешка, той ще запише грешката при разпределяне на редове във файл за грешка. кодът трябва да изглежда така.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите елемент от списък на определена позиция в SQL Server

  2. 4 ключови дейности за наблюдение на бази данни, които всеки DBA трябва да знае

  3. 4 начина за броене на редове в таблица на SQL Server с плюсове и минуси

  4. Проверете неизпратена поща в SQL Server (T-SQL)

  5. Как да коригирате конфликт на съпоставяне в заявка на SQL Server?