2013-02-22 65 views
1

我正在使用SQL Server 2012.我有一些CSV文件与来自客户端糖果店的历史购买数据。在每个文件的顶部,文件中都有购买数据的日期,后面是列标题。我想要做的是填充名为“PurchaseDate”的列,然后将购买日期(文件顶部的日期)添加到该列中直到文件结尾,然后导入该文件。我发现如何在T-SQL here中导入CSV文件,但无法找到此问题的答案。数量庞大的文件(50-60)无法手动有效地导入数据。任何和所有的帮助,不胜感激。使用CSV中的一个单元填充数据列?

回答

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) 
+0

太好了。谢谢。 – user1067257 2013-02-23 04:03:32

相关问题