INDEXR 関数

目的

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

構文

INDEXR(s,c,l)

パラメーター

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

説明

INDEXR 関数は、文字列 s でサブストリング c を検索し、s 内の c の位置を示す整数値を返します。検索は s の右端から左に向かって行われます。l は、検索を開始する文字列内の位置を指定します。

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

オプションの 3 番目の引数 l は計算型でなければならず、使用する場合、結果精度は Fixed Binary(31,0) です。デフォルト値は LENGTH (s) です。l が 0 より大きく、かつ LENGTH(s) 未満の場合、結果はゼロです。

例 1:

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

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

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

dsa

例 2:

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

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

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


	 

制約事項

なし。