将查询参数传递到SSIS
我有一个SSIS包,它使用SQL命令从视图中查询数据 SQL命令如下所示:将查询参数传递到SSIS,ssis,Ssis,我有一个SSIS包,它使用SQL命令从视图中查询数据 SQL命令如下所示: SELECT from myView WHERE dateEntered >= GetDate() AND dateEntered < GetDate() + 1 现在,我希望能够指定开始和结束日期,以便查询的行为如下: SELECT from myView WHERE dateEntered >= startDate AND dateEntered < endDate 但是,如果没有提供开始
SELECT from myView WHERE dateEntered >= GetDate() AND dateEntered < GetDate() + 1
现在,我希望能够指定开始和结束日期,以便查询的行为如下:
SELECT from myView WHERE dateEntered >= startDate AND dateEntered < endDate
但是,如果没有提供开始和结束日期,我需要使用今天的日期和今天的日期+1
在SSIS包中执行此操作的最佳方法是什么
我无法更改视图,因此必须在视图之外或使用SSI中的变量进行更改。我对SSIS不太熟悉,也不确定工具箱中是否有什么东西可以让我处理日期变量,然后在SQL命令中使用它?我最终使用/SET将参数传递给dtexec
然后我使用脚本任务来处理日期,以便处理无效或其他情况。为什么不使用ISNULL检查日期?像
SELECT *
FROM myView
WHERE dateEntered >= ISNULL(startDate,GETDATE())
AND dateEntered < ISNULL(endDate,DATEADD(1,DAY,GETDATE()))
然后,您可以将开始日期和结束日期作为参数从SSIS传递给查询
SELECT *
FROM myView
WHERE dateEntered >= ISNULL(?,GETDATE())
AND dateEntered < ISNULL(?,DATEADD(1,DAY,GETDATE()))
您可以在执行SQL任务的参数部分指定这些参数