使用CSV中的一个单元格填充数据列?

时间:2013-02-22 23:41:09

标签: sql database tsql csv

我正在使用SQL Server 2012.我有许多CSV文件,其中包含来自客户端糖果店的历史购买数据。在每个文件的顶部,文件中有购买数据的日期,后面是列标题。我想要做的是填充一个名为“PurchaseDate”的列,然后将购买日期(文件顶部的日期)添加到该列直到文件末尾,然后导入文件。我找到了如何在T-SQL here中导入CSV文件,但是否则无法找到此问题的答案。绝对数量的文件(50-60)使我无法有效地手动导入数据。非常感谢任何和所有的帮助。

1 个答案:

答案 0 :(得分:1)

导入表格将是最乏味的部分。然后你就可以在每一个上运行它。

CREATE TABLE ImportedCsv (
  [01/21/2013] nvarchar(max),
  [Column 1] nvarchar(max),
  [Column 2] nvarchar(max)
);

ALTER TABLE ImportedCsv ADD PurchaseDate DATETIME;

DECLARE
  @PurchaseDate nvarchar(max)

SELECT TOP 1
  @PurchaseDate = CAST(column_name as nvarchar(max))
FROM information_schema.columns
WHERE table_name = 'ImportedCsv'
ORDER BY ordinal_position

UPDATE ImportedCsv SET PurchaseDate = CAST(@PurchaseDate as datetime)