Можно ли выполнить оператор "LIKE" в выражении SSIS?

Я использую задачу Derived Column для изменения данных столбца с помощью инструкции CASE WHEN. Однако я должен быть в состоянии сказать.

КОД CODE БЫЛО:

CASE WHEN Column01 LIKE '%i%' THEN '0' ELSE '1' END


В языке выражений SSIS, который будет выглядеть следующим образом:

[Column01] == "i" ? "0" : "1"  (that for equals i, not, LIKE %i%.


Можно ли использовать оператор LIKE?

Ответ 1

Я считаю, что вы хотите использовать функцию FINDSTRING.

FINDSTRING (character_expression, searchstring, появление)

...

FINDSTRING возвращает null, если либо character_expression, либо searchstring являются нулевыми.

Ответ 2

Я знаю, что это старый вопрос, но в эти дни я нашел хороший ответ в Интернете.

Если вам нужно выражение для Содержит like '%value%', вы можете использовать:

FINDSTRING(col, "value", 1) > 0`

Если вам нужно выражение для Начать с like 'value%', вы можете использовать:

FINDSTRING(col, "value", 1) == 1

И, наконец, если вам нужно выражение для Конец с like '%value', вы можете использовать:

REVERSE(LEFT(REVERSE(col), X))  == "value"

Подробнее смотрите этот полезный ресурс: Основные эквиваленты SSIS для T-SQL LIKE