日期表达式:
SUBSTRING(@[User::Filename], FINDSTRING(@[User::Filename],"_", 2) +1, 8)
最旧日期表达式:
(DT_I4) (RIGHT(@[User::Date], 4)+ SUBSTRING(@[User::Date], 3,2)+ SUBSTRING(@[User::Date],1, 2))
脚本任务 - 我
Public Sub Main()
Dim OldestDate As Integer
Dim CurrentDate As Integer
OldestDate = CType(Dts.Variables("OldestDate").Value, Integer)
CurrentDate = CType(Dts.Variables("CurrentDate").Value, Integer)
If OldestDate > CurrentDate Then
Dts.Variables("OldestFile").Value = Dts.Variables("Filename").Value.ToString()
Dts.Variables("CurrentDate").Value = CType(Dts.Variables("OldestDate").Value, Integer)
End If
Dts.TaskResult = Dts.Results.Success
End Sub
脚本任务 - II
Public Sub Main()
MsgBox(Dts.Variables("OldestFile").Value.ToString())
Dts.TaskResult = Dts.Results.Success
End Sub
解释:
这里的基本思想是获取日期部分,即 DDMMYYYY 并将其转换为 YYYYMMDD。现在,只要日期是 YYYYMMDD 格式,我们就可以通过简单的整数比较来比较哪个日期更大。我们首先将第一个文件的日期与19000101(过去的日期)进行比较,然后如脚本任务中所示 - 我,我们有条件地为OldestFile分配文件名。脚本任务 - II打印出日期最早的文件名。