首页 > 解决方案 > For 循环容器 SSIS 分配表达式

问题描述

我有一个包含开始日期和结束日期列的表格,我需要输入 2 年的值。我创建了一个 for 循环,我试图加载每个月的值。

例如,我的第一个输入 start Date 是10/12/2016end date 11/11/2016。它应该增加一个月并插入表中2年。

For循环容器

初始化表达式: @windowStart="10/12/2016"

评估表达式: @WindowStart<@windowMaxdate

赋值表达式: @windowStart= Dateadd("mm",1,@windowStart)

执行sql任务

SQL 命令:

Insert into dbo.datetemp 
(WindowStart,WindowEnd ) values (?,?)

我的问题是我没有得到我所期望的值,它只是为每条记录返回相同windowstart的值。windowend并且循环不会停止。

在此处输入图像描述

标签: sql-serverfor-loopssisetl

解决方案


伙计们,我得到了解决方案。

执行 sql 任务后,我在 for 循环中添加了一个表达式任务

@[User::WindowStart] = (DT_WSTR,24)(DT_DBTIMESTAMP) dateadd("mm",1, 
(@[User::WindowStart]) )

而是在 for 循环编辑器的分配表达式中添加此表达式。


推荐阅读