如何在Informatica查找转换中使用表达式?

时间:2016-02-29 15:34:18

标签: lookup informatica

我希望匹配Informatica PowerCenter Designer中查找源中emailid的最后16个字符。

我该怎么做?我无法在查找中使用表达式。

1 个答案:

答案 0 :(得分:0)

如果您使用的是MS SQL服务器,则可以编写查询覆盖查询,如下所示

SELECT 
COLUMN1 AS COL1,
COLUMN2 AS COL1,
SUBSTRING(COL_EMAIL_ID,len(COL_EMAIL_ID)-15,16) AS LAST_16CHAR_OF_EMAIL_ID,
..
FROM LOOKUP_TABLE_NAME
 <<WHERE CONDITIONS IF ANY>>

现在,尝试将输入端口与查找覆盖中的LAST_16CHAR_OF_EMAIL_ID端口进行比较。始终记得为覆盖列设置别名,并且查找转换中端口的顺序应与sql覆盖的select子句中的端口顺序相同

对于Netezza或Oracle数据库,下面的substring语句应该可以正常工作

substr(COL_EMAIL_ID,length(COL_EMAIL_ID)-15,16)