带列表的 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)
可以使用单词列表来准备类似的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)