SSIS将变量设置为下一个星期一基于另一个变量的日期

问题描述:

假设我有变量@date填充了2017-07-19,并且我希望变量@Monday在@date之后成为下一个星期一,我将如何完成此操作?SSIS将变量设置为下一个星期一基于另一个变量的日期

另外,如果添加一种case语句,如果@date当前是星期一,然后简单地将@Monday设置为该日期,会有多复杂?

您应该可以通过基于第一个变量@date创建第二个变量来完成此操作。见下:

datepart("dw", @[User::date]) == 2 ? @[User::date]: (datepart("dw", @[User::date]) == 1? DATEADD("dd", 1,@[User::date]) :(DATEADD("dd",9-datepart("dw",@[User::date]),@[User::date]) )) 

创建第二个变量后,只需使用上面的代码作为表达式。

+0

完美,这正是我所需要的。谢谢! – Jessica