REPEAT

REPEAT 関数は、整数 回繰り返される で構成されるストリングを戻します。

構文図を読む構文図をスキップする
>>-REPEAT--(--expression--,--integer--)------------------------><

expression
繰り返すストリングを指定する式。 このストリングは組み込み数値またはストリング式でなければなりません。 数値引数は、関数を評価する前に文字ストリングにキャストされます。 数値から文字ストリングへの変換の詳細については、VARCHARを参照してください。
integer
その値が正整数かゼロである BIGINT、INTEGER、または SMALLINT の組み込みデータ・タイプを戻す式。 整数は、ストリングを繰り返す回数を指定します。

関数の結果のデータ・タイプは、最初の引数のデータ・タイプによって異なります。

のデータ・タイプ 結果のデータ・タイプ
CHAR、VARCHAR、または任意の数値タイプ VARCHAR
CLOB CLOB
GRAPHIC または VARGRAPHIC VARGRAPHIC
DBCLOB DBCLOB
BINARY または VARBINARY VARBINARY
BLOB BLOB

integer が定数の場合、 結果の長さ属性は、expression の長さ属性を integer 倍 したものと結果データ・タイプの最大長の小さい方です。定数ではない場合は、長さ属性は結果のデータ・タイプによって次のように異なります。

  • BLOB、CLOB、または DBCLOB の場合は 1,048,576
  • VARCHAR または VARBINARY の場合は 4000
  • VARGRAPHIC の場合は 2000

結果の実際の長さは、expression の実際の長さ に integer を乗算した値になります。結果ストリングの実際の長さが戻りタイプの最大長を超える場合は、エラーが戻されます。

引数のどちらかが NULL になる可能性がある場合は、結果も NULL になる可能性が あります。引数のどちらかが NULL である場合は、結果は NULL 値になります。

結果の CCSID は expression の CCSID です。1

  • 「abc」を 2 回繰り返して「abcabc」を作成します。
      SELECT REPEAT('abc', 2)
        FROM SYSIBM.SYSDUMMY1
  • 「REPEAT THIS」という句を 5 回リストします。 CHAR 関数を使用して、出力を 60 バイトに制限します。
      SELECT CHAR( REPEAT('REPEAT THIS', 5), 60)
        FROM SYSIBM.SYSDUMMY1
    この例の結果は「REPEAT THISREPEAT THISREPEAT THISREPEAT THISREPEAT THIS     」です。
  • 次の照会の場合、ストリングをゼロ回繰り返した結果は 長さがゼロのストリングである空ストリングであるため、LENGTH 関数は 0 の値を戻します。
      SELECT LENGTH( REPEAT('REPEAT THIS', 0) )
        FROM SYSIBM.SYSDUMMY1
  • 次の照会の場合、空ストリングを任意の回数繰り返した結果は 長さがゼロのストリングである空ストリングであるため、LENGTH 関数は 0 の値を戻します。
      SELECT LENGTH( REPEAT('', 5) )
        FROM SYSIBM.SYSDUMMY1
1 expression の値が、適切な形式の混合データ・ストリングではない混合データの場合、 結果は適切な形式の混合データ・ストリングにはなりません。