SUBSTRING (SSIS)
指定された位置で始まり、かつ指定された長さを持つ文字式の一部を返します。position パラメータと length パラメータは整数に評価される必要があります。
構文
SUBSTRING(character_expression, position, length)
引数
character_expression
文字の抽出元となる文字式です。
position
部分文字列が始まる位置を指定する整数です。
length
部分文字列の長さを文字数として指定する整数です。
戻り値の型
DT_WSTR
解説
SUBSTRING は 1 から始まるインデックスを使用します。position が 1 の場合、部分文字列は character_expression の最初の文字から始まります。
SUBSTRING は DT_WSTR データ型でのみ機能します。character_expression 引数が DT_STR データ型の文字列リテラルまたはデータ列である場合は、SUBSTRING による演算の実行前に、暗黙的に DT_WSTR データ型にキャストされます。その他のデータ型は、明示的に DT_WSTR データ型にキャストされる必要があります。詳細については、「Integration Services のデータ型」および「キャスト (SSIS)」を参照してください。
引数が NULL の場合、SUBSTRING は NULL を返します。
式のすべての引数で、変数および列を使用できます。
length 引数が文字列の長さを超える場合、この関数は残りの文字列を返します。
例
この例では、文字列リテラルの 4 文字目から始まる 2 文字が返されます。返される結果は "ph" です。
SUBSTRING("elephant",4,2)
この例では、4 文字目から始まる文字列リテラルの残りの部分が返されます。返される結果は "phant" です。length 引数が文字列の長さを超えても、エラーにはなりません。
SUBSTRING ("elephant",4,50)
この例では、MiddleName 列の最初の文字が返されます。
SUBSTRING(MiddleName,1,1)
この例では、position 引数と length 引数に変数を使用します。Start が 1 で Length が 5 の場合、関数は Name 列の最初の 5 文字を返します。
SUBSTRING(Name,@Start,@Length)
この例では、PostalCode 変数の 6 文字目から始まる、最後の 4 文字が返されます。
SUBSTRING (@PostalCode,6,4)
この例では、文字列リテラルから長さ 0 の文字列が返されます。
SUBSTRING ("Redmond",4,0)