POSITION 関数

POSITION はストリング処理関数で、すべてのデータ・タイプ (BIT、BLOB、および CHARACTER) を処理し、1 つのストリングの別のストリング内での位置を戻します。

構文

POSITION は、あるストリング (SearchExpression) の 2 番目のストリング (SourceExpression) 内での位置を示す整数を戻します。ソース・ストリングの最初の文字の位置は 1 です。

FROM 文節がある場合、それは検索ストリング内で検索を開始する位置を示します。FROM 文節がない場合は、ソース・ストリングは先頭から検索されます。

REPEAT 文節がある場合、それは反復カウントを示し、ソース・ストリング内で N 番目に検索ストリングが出現する位置を戻します。反復カウントがマイナスの場合、ソース・ストリングは末尾から検索されます。

REPEAT 文節がない場合、反復カウントは +1 である、つまり最初の位置と想定され、先頭から検索した最初の出現個所が戻されます。検索ストリングの長さが 0 の場合、その結果は 1 です。

検索ストリングが見つからない場合、結果はゼロになります。FROM 文節がある場合には、検索するソース・ストリングの位置にのみ適用されます。REPEAT 文節がある場合、ストリングの出現回数が十分でない場合のみ、適用されます。

いずれかのパラメーターが NULL なら、結果は NULL です。

検索ストリングとソース・ストリングは、CHARACTER、BLOB、または BIT データ・タイプにすることができますが、2 つは同じタイプでなければなりません。

以下に例を示します。
         POSITION('Village' IN 'Hursley Village'); returns 9
         POSITION('Town' IN 'Hursley Village'); returns 0

         POSITION ('B' IN 'ABCABCABCABCABC'); -> returns 2
         POSITION ('D' IN 'ABCABCABCABCABC'); -> returns 0

         POSITION ('A' IN 'ABCABCABCABCABC' FROM 4); -> returns 4
         POSITION ('C' IN 'ABCABCABCABCABC' FROM 2); -> returns 3

         POSITION ('B' IN 'ABCABCABCABCABC' REPEAT 2); -> returns 5
         POSITION ('C' IN 'ABCABCABCABCABC' REPEAT 4); -> returns 12

         POSITION ('A' IN 'ABCABCABCABCABC' FROM 4 REPEAT 2); -> returns 7
         POSITION ('AB' IN 'ABCABCABCABCABC' FROM 2 REPEAT 3); -> returns 10

         POSITION ('A' IN 'ABCABCABCABCABC' REPEAT -2); -> returns 10
         POSITION ('BC' IN 'ABCABCABCABCABC' FROM 2 REPEAT -3); -> returns 5
関連概念
ESQL の概要
関連タスク
ESQL の開発
大きなフィールドからのサブフィールドの選択
関連資料
構文図: 使用可能なタイプ
ESQL ストリング処理関数
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ak05240_