web-dev-qa-db-ja.com

SSIS式で「LIKE」ステートメントを実行することは可能ですか?

派生列タスクを使用して、CASEWHENステートメントを使用して列データを変更しています。しかし、私は言うことができる必要があります。

SQLコードは次のようになります:

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


SSIS式言語では:

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


LIKE演算子を使用することはできますか?

14
iamtheratio

FINDSTRING関数を使用

FINDSTRING(character_expression、searchstring、occurrence)

.。

Character_expressionまたはsearchstringのいずれかがnullの場合、FINDSTRINGはnullを返します。

11

古い質問だとは思いますが、最近はウェブ上で良い答えを見つけました。

Containslike '%value%'の式が必要な場合は、次を使用できます。

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

Start withlike 'value%'の式が必要な場合は、次を使用できます。

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

そして最後に、End withlike '%value'の式が必要な場合は、次を使用できます。

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

詳細については、この便利なリソースを参照してください: T-SQLのLIKEと同等の基本的なSSIS