我有几个带有不同文件名的CSv输入文件以及不同的日期格式。我需要根据条件动态选择输入文件。
例如
i have files file120120909.csv, scalefile09102012.csv
我需要根据条件检索输入文件。所以我采用了一个用户变量并以这种方式返回表达式
(@[User::Type] =="File" ? "file" : (@[User::type] =="scale" ? "scale_" :"NA")) + (DT_STR,4,1252)DATEPART("yyyy", @[System::StartTime] ) + RIGHT("0" + (DT_STR,2,1252) DATEPART("mm", @[System::StartTime]),2) + RIGHT("0" + (DT_STR,2,1252)DATEPART("dd", @[System::StartTime]),2)
当我评估表达式时,我得到了以下结果
file120120912
现在,当我为用户变量@ [User :: Type] ==“scale”赋值时,表达式结果必须为scalefile09102012
。
因此根据条件我如何追加文件的日期
答案 0 :(得分:0)
您可以将VB.NET代码编写到脚本任务中以解决您的问题:
Dim type As String = Dts.Variables("Type").Value.ToString()
Dim startDate As DateTime = DateTime.Parse(Dts.Variables("StartTime").Value.ToString())
Dim result As String = ""
If type.ToLower() = "file" Then
result = type.ToLower() + startDate.ToString("yyyyMMdd")
ElseIf type.ToLower() = "scale" Then
result = type.ToLower() + "file" + startDate.ToString("MMddyyyy")
Else
result = "incorrect type"
End If
MsgBox(result)