INDEX 関数

目的

文字列内でサブストリングを検索し、その位置を示す Fixed Binary の整数値を返します。

構文

INDEX(s,c,l)

パラメーター

s および c はいずれも文字列またはビット文字列で、cs のサブストリングである可能性があります。 l はオプションの 3 番目のパラメーターで、検索を開始する s 内の位置を指定します。

説明

INDEX 関数は、文字列 s でサブストリング c を検索し、s 内の c の位置を示す整数値を返します。 l は、検索を開始する文字列内の位置を指定します。

s または c のいずれかが NULL 文字列の場合、結果はゼロです。サブストリング cs に含まれていない場合も、結果はゼロです。それ以外の場合の結果は、サブストリング c の左端の文字またはビット (s および c がビット文字列の場合) の s 内の位置を示す整数です。結果精度は Fixed Binary(15) です。

オプションの 3 番目の引数 l は計算型でなければならず、使用する場合、結果精度は Fixed Binary(31,0) です。l が 1 未満であるか、または長さ (s) よりも大きい場合、結果はゼロです。

INDEX(s,c) の例:

dcl s char (40) ;
    dcl i fixed bin (15);

    s = 'dmf plb cp js acb ltt dsa';
    i = index(s, 'd');
    put skip list (substr(s, i, 3));

次のように表示されます。

dmf

INDEX(s,c,l) の例:

dcl s char (40) ;
    dcl i fixed bin (15);

    s = 'dmf plb cp js acb ltt dsa';
    i = index(s, 'd', 5);
    put skip list (substr(s, i, 3));

次のように表示されます。

dsa

制約事項

なし。