1

试图将 SQL 中的 Case 语句重写为 SSIS 表达式。

Case When  ADate is Null and BDate > DateAdd(DD,120,CDate) then 'ABC'
    When  ADate is not Null and BDate > ADate then 'CVA'
Else '' 
End 

这甚至可以重写为 SSIS 派生列表达式。

让我知道。

4

1 回答 1

0

当然,这只是丑陋的。

(ISNULL( @adate) ==TRUE && @bdate > DATEADD( "DAY", 120, @cdate ))? "ABC" : (ISNULL( @adate) ==FALSE && @bdate > @adate)? "CVA" : ""

我将列名声明为变量来测试语法。删除您的版本的 @ 符号。

这是相关的 MS 文档:http: //msdn.microsoft.com/en-us/library/ms141680.aspx

还有很多例子:http ://www.sqlchick.com/entries/2011/6/8/nested-conditional-operators-in-an-ssis-derived-column.html

于 2014-09-05T12:34:59.070 回答