Search code examples
sqlinformaticainformatica-powercenter

How do i implement a case when statement in Informatica expression transformation


I need to implement the following scenario using expression transformation in Informatica since expression does not support case when how can this be achieved?

CASE
WHEN
  (LENGTH(EDW_UPDATE_NOTE) > 500)
  THEN
  'PROC_PWC_MAPPING_NAME ' || TO_CHAR(sysdate,'mm/dd/yyyy hh24:mi:ss') ||' | '|| SUBSTR(EDW_UPDATE_NOTE, 0, 200)
ELSE
  'PROC_PWC_MAPPING_NAME' || TO_CHAR(sysdate,'mm/dd/yyyy hh24:mi:ss') || ' | '|| edw_update_note
END,

Solution

  • IIF works like CASE WHEN. You can use -

    IIF(LENGTH(EDW_UPDATE_NOTE) > 500)
    ,'PROC_PWC_MAPPING_NAME ' || TO_CHAR(sysdate,'mm/dd/yyyy hh24:mi:ss') ||' | 
    '|| SUBSTR(EDW_UPDATE_NOTE, 0, 200)
    ,'PROC_PWC_MAPPING_NAME' || TO_CHAR(sysdate,'mm/dd/yyyy hh24:mi:ss') || ' | 
    '|| edw_update_note
    )
    

    Pls refer to the IIF help.