【问题标题】:Populate Column with Data from One Cell in CSV?用CSV中一个单元格的数据填充列?
【发布时间】:2013-02-08 17:11:04
【问题描述】:

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

【问题讨论】:

    标签: sql database tsql 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)
    

    【讨论】:

      猜你喜欢
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多