我的表格中有“开始日期”和“结束日期”列,我需要输入 值已使用了2年。我创建了一个for循环,并尝试加载以下值: 每个月。
例如,我的第一个输入开始日期是10/12/2016
结束日期11/11/2016
。它
应该增加一个月,然后插入表格2年。
用于循环容器
InitExpression: @windowStart="10/12/2016"
Evalexpression: @WindowStart<@windowMaxdate
AssignExpression: @windowStart= Dateadd("mm",1,@windowStart)
执行sql任务
SQL命令:
Insert into dbo.datetemp
(WindowStart,WindowEnd ) values (?,?)
我的问题是我没有得到我所期望的价值及其公正
为每条记录返回相同的windowstart
和windowend
。而且循环不会停止。
答案 0 :(得分:1)
我知道了解决方法。
我在执行sql任务后在for循环中添加了一个expression任务
@[User::WindowStart] = (DT_WSTR,24)(DT_DBTIMESTAMP) dateadd("mm",1,
(@[User::WindowStart]) )
而不是在for循环编辑器的Assign表达式中添加此表达式。
答案 1 :(得分:0)
您正在将字符串值传递给@windowStart
。
创建一个日期时间类型为@StartDate
的日期时间类型的变量2016-12-10
。并使用以下表达式:
InitExpression: @windowStart= @StartDate
还要确保@windowStart
和@windowMaxdate
的类型为DateTime
也请检查类似的问题以获取更多信息: