如何在SSIS中使用时间戳获取文件名

use*_*424 1 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"  
Run Code Online (Sandbox Code Playgroud)

该表达式的结果

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

rvp*_*phx 5

这是将为您提供日期部分和时间部分的表达式。您可以在两者之间放置其他定界符以完成所需的格式。

(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) + 
Run Code Online (Sandbox Code Playgroud)

您可以编辑上面的表达式并使用您选择的另一个变量。因为容易,我选择了ContainerStartTime。