SSIS表达中的复杂案例陈述

时间:2014-09-05 11:59:52

标签: sql-server-2008 ssis msbi

尝试将SQL中的Case语句重写为SSIS Expression。

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派生列表达式。

让我知道。

1 个答案:

答案 0 :(得分: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