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