带列表的Iff语句 - Informatica 8.5 / 9.x

时间:2016-11-18 14:11:51

标签: informatica

可以使用单词列表来准备类似的if语句: IIF(INSTR(LOWER(DESC _),'JAVA'或'C ++'或'dddd'')

目前我使用: IIF(INSTR(LOWER(DESC _),'JAVA')或INSTR(LOWER(DESC _),'C ++')或....., Informatica 8.5 / 9.x

2 个答案:

答案 0 :(得分:0)

首先,你所拥有的表达式不起作用,因为你正在将端口转换为LOWERCASE并使用大写'JAVA'进行INSTR。

提出您的问题,没有办法使用具有多个字符串的单个INSTR。但是,您可以使用REG_MATCH获得与以下相同的功能:

REG_MATCH(LOWER(DESC_), '.*(java|c\+\+|ddddd).*')

注意:

  • .*匹配任何字符
  • (...)定义了一个组
  • java|c\+\+|ddddd要搜索的字符串(|)分隔的字符串。 +是正则表达式语法的一部分。因此需要使用\
  • 进行说明

答案 1 :(得分:0)

看起来你想做一个DECODE(TRUE,condition1,result1,condition2,result2,...,defaultresultwithnocondition)