可以使用单词列表来准备类似的if语句: IIF(INSTR(LOWER(DESC _),'JAVA'或'C ++'或'dddd'')
目前我使用: IIF(INSTR(LOWER(DESC _),'JAVA')或INSTR(LOWER(DESC _),'C ++')或....., Informatica 8.5 / 9.x
答案 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)