Sql server case when语句中的SSIS变量

Sql server case when语句中的SSIS变量,sql-server,tsql,ssis,business-intelligence,Sql Server,Tsql,Ssis,Business Intelligence,当数据流中的语句出现时,是否可以使用SSIS变量 我必须实施以下措施: select ... case when Data >= ? then NULL else Data end DataName, ... from ... where filter = ? 其中“?”是迭代器,我从Foreach循环(超过100次迭代)中获得。整个查询超过4000个字符 我使用SQLServer2008R2。我还必须将此查询加载到不同的服务器。这种情况对我来说没有多大意义。您能补充一下为什么要这样做吗

当数据流中的语句出现时,是否可以使用SSIS变量

我必须实施以下措施:

select
...
case when Data >= ? then NULL else Data end DataName,
...
from ...
where filter = ?
其中“?”是迭代器,我从Foreach循环(超过100次迭代)中获得。整个查询超过4000个字符


我使用SQLServer2008R2。我还必须将此查询加载到不同的服务器。

这种情况对我来说没有多大意义。您能补充一下为什么要这样做吗?@juergend如果特定日期(筛选器)晚于数据(业务逻辑),则无法显示该日期的数据名。这只是我整个查询的一部分。大概它只适用于
WHERE
子句中的参数?(另外,我这样做的方法是简单地选择
data
,然后在数据流中添加一个派生列来为我执行此计算,生成一个名为DataName的新列,该列具有您需要的值。将参数映射到数据流中WHERE子句以外的任何位置通常是一件痛苦的事情。您可以在派生列中轻松使用参数。)是的,你可以在CASE表达式中使用一个变量,但我不知道当你谈到迭代器时你在想什么。