我需要SSIS中的SQL查询/ SSIS转换来检查日期吗?

时间:2014-05-07 20:19:38

标签: sql ssis etl

所以我在SSIS中使用SCD变换,默认情况下设置开始日期时,它的当前日期很好。但是我想要做的初始加载是将所有新记录设置为2008-01-01,然后在此之后的任何内容将成为当前日期。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

在您的数据流任务之前使用执行SQL任务并运行类似于此的查询以查看您的目标表是否为空(初始加载) - IF(SELECT count(1)FROM [Table]。[Destination])> 0 开始  选择0作为TableEmpty 结束 其他 开始  选择1作为TableEmpty END

将查询结果存储在布尔变量中 - isTableEmpty。

现在,在SCD之后和新输出的插入目标之前的数据流任务中,使用派生列任务 - DerivedBeginDate,其表达式具有以下逻辑。 (isTableEmpty)(DT_DBDATE)" 2008-01-01":BeginDateFromSCD

将DerivedBeginDate映射到Insert Destination中的列。

希望这会有所帮助。祝你好运。