【问题标题】:SSIS For Loop Container with Date Variable带有日期变量的 SSIS For 循环容器
【发布时间】:2018-12-03 09:52:24
【问题描述】:

我想创建一个在 ODBC 上执行每日查询并写入输出文件的月度包。

更具体地说,查询必须首先在上个月的第一天 (e.g. '01/11/2018') 执行,然后在下一个 ('02/11/2018') 执行,直到上个月的最后一天 ('30/11/2018')

日期变量当前保存为字符串,我还希望将一个具有 Oracle 日期格式的字符串变量插入到查询中。应该如何组织?有没有办法可以在表达式中使用字符串变量?

【问题讨论】:

    标签: date for-loop ssis odbc


    【解决方案1】:

    将其分解如下:

    1. 声明变量以存储上个月的开始和结束日期,如下所示:

    开始日期(日期时间) = (DT_DATE)((DT_WSTR,4)YEAR(DATEADD("MM",-1,GETDATE()))+"-"+RIGHT("0"+(DT_WSTR,2)MONTH(DATEADD("MM",-1,GETDATE())),2)+"-01")

    end_date(datetime) = DATEADD("D", -(DAY(GETDATE())),GETDATE())

    1. 声明变量Counter(datetime)

    2. 如下创建For loop container

    1. 数据流任务的其余部分应该在 For 循环容器中,这将创建输出文件。你可以在SQL中使用变量Counter来参数化它

    【讨论】:

      【解决方案2】:

      事实上,我发现我想在循环中使用的只是日期的时段,所以我创建了两个额外的 int 变量,其中包含: 1) 月初一 (1) 2)当月的最后一天(28,30,31) 我在For Loop Expressions 使用了这两个变量并将索引转换为字符串,因此我可以将其添加到查询中。可能会有更好的方法,它会受到欢迎。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-17
        • 1970-01-01
        • 2014-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多