具有这样的数据这是一个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
只需使用表达式转换来馈送end_date,即发送出去的end_date,即使用end_date_out端口中的iif语句:
IIF(STATUS = 'CLOSED', ADD_TO_DATE(START_DATE, 'MM', 1), END_DATE)