REPLICATE (SSIS)
指定された回数だけレプリケートされた文字式を返します。times 引数は整数に評価される必要があります。
注意 |
---|
REPLICATE 関数では長い文字列が使用される場合が多いため、式の長さに対する 4,000 文字の制限が発生する可能性が高くなります。式の評価結果が Integration Services データ型の DT_WSTR または DT_STR である場合、式は 4,000 文字に切り捨てられます。サブ式の結果のデータ型が DT_STR または DT_WSTR である場合、式全体の結果のデータ型に関係なく、そのサブ式も同様に 4,000 文字に切り捨てられます。切り捨ての結果を効率よく処理できる場合もあれば、結果により警告またはエラーが発生する場合もあります。詳細については、「構文 (SSIS)」を参照してください。 |
構文
REPLICATE(character_expression,times)
引数
character_expression
レプリケートする文字式です。times
character_expression がレプリケートされる回数を指定する整数式です。
戻り値の型
DT_WSTR
説明
times が 0 の場合、関数は長さが 0 の文字列を返します。
times が負の値の場合、関数はエラーを返します。
times 引数には、変数や列も使用できます。
REPLICATE は、DT_WSTR データ型でのみ機能します。character_expression 引数が DT_STR データ型の文字列リテラルまたはデータ列である場合は、REPLICATE による演算の実行前に、暗黙的に DT_WSTR データ型にキャストされます。その他のデータ型は、明示的に DT_WSTR データ型にキャストされる必要があります。詳細については、「Integration Services のデータ型」および「キャスト (SSIS)」を参照してください。
引数のいずれかが NULL の場合、REPLICATE は NULL を返します。
例
この例では、文字列リテラルを 3 回レプリケートします。返される結果は、"Mountain BikeMountain BikeMountain Bike" です。
REPLICATE("Mountain Bike", 3)
この例では、Name 列の値を変数 Times の値の回数だけレプリケートします。Times が 3、Name が Touring Front Wheel の場合、返される結果は "Touring Front WheelTouring Front WheelTouring Front Wheel" になります。
REPLICATE(Name, @Times)
この例では、変数 Name の値を Times 列の値の回数だけレプリケートします。Times の値は整数データ型でなく、式には整数データ型への明示的なキャストが含まれています。Name に Helmet が含まれ、Times が 2 の場合、返される結果は "HelmetHelmet" になります。
REPLICATE(@Name, (DT_I4(Times))