ssis - 如何在ssis中获取带有时间戳的文件名

标签 ssis

我有一个必须每天加载到我的表中的输入文件。我收到以下格式的文件示例 sample_20120518_160754.CSV。时间戳可能会有所不同,它不是当前时间戳

我已经使用表达式来获取文件名和日期,但是如何获取文件的时间戳。

这是我用来获取文件和日期的表达式。

"sample_" + RIGHT("0" + (DT_STR,4,1252)DATEPART("yyyy", (DT_DATE)@[User::p_varAsOfDate]), 4) + RIGHT("0" + (DT_STR, 2, 1252)DATEPART("dd", (DT_DATE)@[User::p_varAsOfDate]), 2) + (DT_STR, 2, 1252)DATEPART("mm", (DT_DATE)@[User::p_varAsOfDate]) +"_"  +".CSV"  

这个表达式产生结果

sample_2012145_.CSV 现在我还想要文件的时间戳。

最佳答案

下面的表达式也会为您提供日期部分 + 时间部分。您可以在它们之间放置额外的分隔符来完成您想要的格式。

(DT_STR, 4, 1252)DATEPART("yyyy", @[System::ContainerStartTime]) + 
RIGHT("0" + (DT_STR, 2, 1252)DATEPART("mm", @[System::ContainerStartTime]), 2) + 
RIGHT("0" + (DT_STR, 2, 1252)DATEPART("dd", @[System::ContainerStartTime]), 2) +
RIGHT("0" + (DT_STR, 2, 1252)DATEPART("hh", @[System::ContainerStartTime]), 2) +
RIGHT("0" + (DT_STR, 2, 1252)DATEPART("mi", @[System::ContainerStartTime]), 2) +
RIGHT("0" + (DT_STR, 2, 1252)DATEPART("ss", @[System::ContainerStartTime]), 2) + 

您可以编辑上述表达式并使用您选择的另一个变量。由于方便,我选择了 ContainerStartTime。

关于ssis - 如何在ssis中获取带有时间戳的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10685999/

相关文章:

sql-server - 如何遍历多个文件夹和多个文件并将数据转储到具有相同文件名的 SQL 表? SSIS

sql-server-2008 - 为什么 SSIS OLE DB 导入不导入文本文件的最后一行?

c# - 将 SSIS 包保存到本地机器

sql-server - SSIS 派生列表达式跳过 null/空白值并获取字符串值的下一个数字

sql-server-2005 - 在 SSIS 中重用任务

sql - SSIS - 文本限定符目的

SQL Server Integration Services 2008-2005兼容性

sql-server - 错误 SSIS 任务 : The result binding name must be set to zero for full result set and XML results

sql-server - SSIS - 强制 Excel 连接

sql-server - 如何在 SSIS 中追加来自两个源的两行?