ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

INSTRファンクション

INSTRファンクション群(INSTR、INSTRB、INSTRC、INSTR2およびINSTR4)は、文字を使用して文字列からサブストリングを検索し、文字列のうち指定したサブストリングに一致する部分の最初の文字の位置を返します。戻り値となるサブストリング位置の決定方法は各ファンクションで異なります。

戻り値

検索が成功した場合はゼロ以外のINTEGER、成功しなかった場合は0(ゼロ)。

構文

{INSTR | INSTRB | INSTRC | INSTR2 | INSTR4} (string , substring [, position [, occurrence]])

引数

string

検索元のテキスト式。

substring

検索元で検索する文字列。

position

string内でファンクションが検索を開始する位置を示すゼロ以外のINTEGER。INSTRは、入力キャラクタ・セットでの定義どおりに文字を使用してpositionを計算します。INSTRBは、バイトを使用してpositionを計算します。INSTRCは、Unicodeの完全文字を使用してpositionを計算します。INSTR2は、UCS2コード・ポイントを使用してpositionを計算します。INSTR4は、UCS4コード・ポイントを使用してpositionを計算します。

positionが負数である場合、INSTRはstringの最後から逆方向に数えて検索します。positionのデフォルト値は1なので、ファンクションはstringの最初の位置から検索を開始します。

occurrence

stringでどの一致文字列をファンクションが検索するかを示すINTEGER。occurrenceの値は正数である必要があります。occurrenceのデフォルト値は1なので、ファンクションはsubstringの最初の一致文字列を検索します。

例7-127 文字位置を使用したサブストリング位置の順方向検索

次の例は、文字列「Corporate Floor」の3番目の文字から文字列「or」を検索します。戻り値は、2番目の一致文字列「or」の最初の文字がある「Corporate Floor」における位置です。

SHOW INSTR('Corporate Floor','or', 3, 2)
14

例7-128 文字位置を使用したサブストリング位置の逆方向検索

次の例では、ファンクションは最後の文字から逆方向に3番目の文字までを数えます。この場合、「Floor」の最初の「o」に当たります。次に、ファンクションは2番目の一致文字列「or」を逆方向に検索し、この2番目の一致文字列が検索文字列の2文字目から始まることがわかります。

SHOW INSTR('Corporate Floor','or', -3, 2)
2

例7-129 ダブルバイト・キャラクタ・セットを使用したサブストリング位置の検索

この例では、ダブルバイト・データベース・キャラクタ・セットを使用しているとします。

SHOW INSTRB('Corporate Floor','or',5,2)
27