0

有这样的数据这是一个 teradata 表,它是我在 informatica 中的来源

 S_ID      A_ID     START_DATE          END_DATE      STATUS

   1          a         01-02-2017         01-03-2017     CLOSED

   1          a         01-03-2017         31-12-9999     CLOSED       

   1          b         01-04-2017         31-12-9999     CLOSED

   1          c         01-05-2017         31-12-9999     ACTIVE

现在我的要求是下面的这组数据:我如何使用或修改我的源表以获得以下结果,这也是 Teradata 中的一个表(我也可以在源限定符中使用 sqloverride)

 S_ID      A_ID     START_DATE          END_DATE      STATUS

   1          a         01-02-2017         01-03-2017     CLOSED

   1          a         01-03-2017         01-04-2017     CLOSED       

   1          b         01-04-2017         01-05-2017     CLOSED

   1          c         01-05-2017         31-12-9999     ACTIVE
4

1 回答 1

0

只需使用表达式转换来提供发送出去的 END_DATE,即使用 END_DATE_OUT 端口中的 IIF 语句:

IIF(STATUS = 'CLOSED', ADD_TO_DATE(START_DATE, 'MM', 1), END_DATE)
于 2017-12-20T16:06:29.710 回答