0

我有几个具有不同文件名和不同日期格式的 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.

所以根据条件我如何附加文件的日期

4

1 回答 1

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)
于 2012-09-12T10:28:21.420 回答