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 Строки для поиска разделены по трубе (|). + является частью синтаксиса регулярного выражения. Так что это должно быть исключено с \
Другие вопросы по тегам