目的
文字列内でサブストリングを検索し、その位置を示す Fixed Binary の整数値を返します。
パラメーター
s および c はいずれも文字列またはビット文字列で、c は s のサブストリングである可能性があります。 l はオプションの 3 番目のパラメーターで、検索を開始する 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));
次のように表示されます。
説明
INDEXR 関数は、文字列 s でサブストリング c を検索し、s 内の c の位置を示す整数値を返します。検索は s の右端から左に向かって行われます。l は、検索を開始する文字列内の位置を指定します。
s または c のいずれかが NULL 文字列の場合、結果はゼロです。サブストリング c が s に含まれていない場合も、結果はゼロです。それ以外の場合の結果は、サブストリング c の右端の文字またはビット (s および c がビット文字列の場合) の s 内の位置を示す整数です。結果精度は Fixed Binary(15) です。
オプションの 3 番目の引数 l は計算型でなければならず、使用する場合、結果精度は Fixed Binary(31,0) です。デフォルト値は LENGTH (s) です。l が 0 より大きく、かつ LENGTH(s) 未満の場合、結果はゼロです。