SSIS 变量表达式意外结果

SSIS Variable Expression Unexpected Results

我正在 SSIS 2008 上编写一个实用程序,它将检查星期几并获取下周五的日期。如果当前星期几是星期三,这就是我的条件。

DATEPART("dw",GETDATE())==4?DATEADD("dd", (DATEDIFF("dd",GETDATE() , GETDATE()) / 7) * 7 + 9, GETDATE())

当我删除 ? 运算符时,DATEADD 部分正在工作。我错过了什么吗?

这是我收到的错误

Expression cannot be evaluated
Attempt to parse the expression failed. 
The expression might contain an invalid token, an incomplete token, or an invalid element. 
It might not be well-formed, or might be missing part of a required element such as a 
parenthesis.

假设我们在这里讨论的是 SSIS 表达式语言(考虑到双引号,我认为这是一个安全的假设)

SSIS Expression language 使用三元运算符 ? : 但这不是你正在做的。您将 ?,

混在一起
DATEPART("dw",GETDATE())==4?DATEADD("dd", (DATEDIFF("dd",GETDATE() , GETDATE()) / 7) * 7 + 9, GETDATE()) : GETDATE()