INSTR (日本語)
構文
説明イラストinstr.gif
目的
INSTR
関数はstring
でsubstring
。この関数は、このオカレンスの最初の文字であるstring
内の文字の位置を示す整数を返します。 INSTR
は、入力文字セットで定義された文字を使用して文字列を計算します。 INSTRB
は文字の代わりにバイトを使用します。 INSTRC
はUnicodeの完全な文字を使用します。 INSTR2
はUCS2コードポイントを使用します。 INSTR4
はUCS4コードポイントを使用します。
-
position
は、の文字を示すゼロ以外の整数です。string
OracleDatabaseが検索を開始します。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