Sql server 将平面文件导入SQL Server表时插入日期
我正在尝试使用SSIS包将平面文件导入SQL Server表。此程序包计划每天运行。在导入文件之前,我已经创建了一个额外的列 例: 2019年8月1日的平面文件:Sql server 将平面文件导入SQL Server表时插入日期,sql-server,ssis,etl,flat-file,import-from-csv,Sql Server,Ssis,Etl,Flat File,Import From Csv,我正在尝试使用SSIS包将平面文件导入SQL Server表。此程序包计划每天运行。在导入文件之前,我已经创建了一个额外的列 例: 2019年8月1日的平面文件: 001,Tony Stark,Ironman 014,Steve Rodgers, Captain America 2019年9月1日的平面文件: 414,Peter Parker, Spiderman 007,Clark Kent, Superman 预期结果: 导入后,2019年8月1日的表格应如下所示 ID N
001,Tony Stark,Ironman
014,Steve Rodgers, Captain America
2019年9月1日的平面文件:
414,Peter Parker, Spiderman
007,Clark Kent, Superman
预期结果:
导入后,2019年8月1日的表格应如下所示
ID Name Alias Date
```` `````` `````` `````
001 Tony Stark Ironman 2019-01-08
014 Steve Rodgers Captain America 2019-01-08
像2019年9月1日这样
ID Name Alias Date
```` `````` `````` `````
001 Tony Stark Ironman 2019-01-08
014 Steve Rodgers Captain America 2019-01-08
414 Peter Parker Spiderman 2019-01-09
007 Clark Kent Superman 2019-01-09
当您将csv文件加载到mysql中时 然后,使用创建一个新的日期列。新表,将列设置为所需日期 然后,使用mysql语法将新表中的值插入到最终的目标表中
最后,删除新的/临时表。您可以通过多种方式实现这一点: 1-将派生列添加到包中 您可以在数据流任务中添加派生列转换,并使用
[System::StartTime]
变量,该变量包含包开始运行的时间。或者可以使用返回当前日期的GETDATE()
函数
2-向添加的列添加默认值
您可以将GETDATE()
函数作为默认值添加到列中,因此对于插入的每一行,都将指定当前日期的值
ALTER TABLE DestTable ADD CONSTRAINT DF_SomeName DEFAULT GETDATE() FOR [Date];
参考资料