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

Iff statement with list - Informatica 8.5/9.x

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

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

首先,您的表达式将不起作用,因为您正在将端口转换为小写并使用大写字母执行 INSTR 'JAVA'。

关于您的问题,无法将单个 INSTR 与多个字符串一起使用。但是,您可以使用 REG_MATCH 获得相同的功能,如下所示:

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

注:

  • .* 匹配任何字符
  • (...)定义了一个组
  • java|c\+\+|ddddd 要搜索的字符串,用竖线 (|) 分隔。 + 是正则表达式语法的一部分。所以它需要用 \

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