次の方法で共有


FINDSTRING (SSIS)

文字式内の文字列のうち、指定された文字列が検出された場所を返します。返される結果は、1 を基点とする検出場所のインデックスです。文字列パラメータは文字式に評価され、検出場所を示すパラメータは整数に評価される必要があります。文字列が見つからない場合、戻り値は 0 になります。文字列の検出回数が、引数によって指定された数より少ない場合の戻り値は 0 です。

構文

FINDSTRING(character_expression, searchstring, occurrence)

引数

  • character_expression
    検索対象が含まれる文字列です。

  • searchstring
    検索する文字列です。

  • occurrence
    何回目に検出した searchstring の場所をレポートするかを指定する、符号付きまたは符号なし整数です。

戻り値の型

DT_I4

説明

FINDSTRING は、DT_WSTR データ型でのみ機能します。character_expression および searchstring 引数が DT_STR データ型の文字列リテラルまたはデータ列である場合は、FINDSTRING による演算の実行前に、暗黙的に DT_WSTR データ型にキャストされます。その他のデータ型は、明示的に DT_WSTR データ型にキャストされる必要があります。詳細については、「Integration Services のデータ型」および「キャスト (SSIS)」を参照してください。

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

1 回目に検出された場所のインデックスを取得するには、occurrence 引数の値に 1 を使用します。2 回目以降の検出場所のインデックスを取得する場合も同様です。

occurrence には、0 より大きい整数値を指定してください。

この例では、文字列リテラルを使用します。値 11 が返されます。

FINDSTRING("New York, NY, NY", "NY", 1) 

この例では、文字列リテラルを使用します。文字列 "NY" は 2 回しか検出されないため、返される結果は 0 です。

FINDSTRING("New York, NY, NY", "NY", 3) 

この例では、Name 列を使用します。Name 列にある n の値の場所が返されます。返される結果は、Name の値によって異なります。Name に Anderson が含まれる場合は、次の関数では 8 が返されます。

FINDSTRING(Name,"n", 2) 

この例では、Name および Size 列を使用します。Name 列にある Size の値の左端の文字の場所が返されます。返される結果は、列の値によって異なります。Name の値が Mountain,500Red,42 で Size の値が 42 の場合、17 が返されます。

FINDSTRING(Name,Size,1) 

関連項目

参照

その他の技術情報