INSTR (日本語)
構文
説明イラストinstr.gif
目的
INSTR関数はstringでsubstring。この関数は、このオカレンスの最初の文字であるstring内の文字の位置を示す整数を返します。 INSTRは、入力文字セットで定義された文字を使用して文字列を計算します。 INSTRBは文字の代わりにバイトを使用します。 INSTRCはUnicodeの完全な文字を使用します。 INSTR2はUCS2コードポイントを使用します。 INSTR4はUCS4コードポイントを使用します。
-
positionは、の文字を示すゼロ以外の整数です。stringOracleDatabaseが検索を開始します。positionが負の場合、Oracleはstringの末尾から逆方向にカウントし、結果の位置から逆方向に検索します。 -
occurrenceは、Oracleが検索するstringの出現箇所を示す整数です。occurrenceの値は正である必要があります。
stringと
は、CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB、またはNCLOB。返される値はNUMBERデータ型です。
positionとoccurrenceは、データ型NUMBER、または暗黙的にNUMBERに変換できる任意のデータ型であり、整数に解決される必要があります。 positionとoccurrenceの両方のデフォルト値は1です。これは、Oracleがstring substringが最初に出現した場合。戻り値は、positionの値に関係なく、stringの先頭を基準にしており、文字で表されます。検索が失敗した場合(substringがposition文字の後にoccurrence回表示されない場合string)の場合、戻り値は0です。
関連項目:
表2-10「暗黙の型変換マトリックス」暗黙的な変換の詳細については
例
次の例では、文字列CORPORATE FLOOR、文字列「OR」の3番目の文字で始まります。 ORの2番目のオカレンスが始まるCORPORATE FLOORの位置を返します。 :
SELECT INSTR("CORPORATE FLOOR","OR", 3, 2) "Instring" FROM DUAL; Instring---------- 14
次の例では、Oracleは最後の文字から最後から3番目の文字(最初の in FLOOR。次に、OracleはORの2番目のオカレンスを逆方向に検索し、この2番目のオカレンスが検索文字列の2番目の文字で始まることを検出します:
SELECT INSTR("CORPORATE FLOOR","OR", -3, 2)"Reversed Instring" FROM DUAL; Reversed Instring----------------- 2
次の例では、2バイトのデータベース文字セットを想定しています。
SELECT INSTRB("CORPORATE FLOOR","OR",5,2) "Instring in bytes" FROM DUAL;Instring in bytes----------------- 27