Iff заявление со списком - Informatica 8.5/9.x
Можно использовать список слов для подготовки аналогичного оператора if: IIF(INSTR(LOWER(DESC_),'JAVA' или 'C++' или'ddddd ')
на данный момент я использую: IIF(INSTR(LOWER(DESC_),'JAVA') ИЛИ INSTR(LOWER(DESC_),'C++') ИЛИ....., Informatica 8.5/9.x
2 ответа
Похоже, вы хотите сделать DECODE(TRUE, условие 1, результат 1, условие 2, результат 2, ..., defaultresultwithnocondition)
Прежде всего, ваше выражение не будет работать, потому что вы конвертируете порт в LOWERCASE и выполняете INSTR с большой буквы "JAVA".
Что касается вашего вопроса, то нет способа использовать один INSTR с несколькими строками. Однако вы можете получить те же функциональные возможности с REG_MATCH, как показано ниже:
REG_MATCH(LOWER(DESC_), '.*(java|c\+\+|ddddd).*')
Замечания:
.*
соответствует любому персонажу(...)
определяет группуjava|c\+\+|ddddd
Строки для поиска разделены по трубе (|).+
является частью синтаксиса регулярного выражения. Так что это должно быть исключено с\