按日期和时间对数据进行排序,然后 select 下一个最小日期以更新 informatica 中的其他日期列

Sort data by date & time and then select the next min date to update the other date column in informatica

有这样的数据 这是一个 teradata table 这是我在 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

现在我的要求是下面的这组数据: 我如何使用或修改我的源 table 以获得下面的结果,这也是一个 table 在 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

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

IIF(STATUS = 'CLOSED', ADD_TO_DATE(START_DATE, 'MM', 1), END_DATE)