Oracle では、文字列中に指定した文字が含まれているかどうかを判定するために instr メソッドを使用します。このメソッドは、文字列の中から指定した文字を検索し、見つかった指定した文字を返すことができます。位置、構文は「instr('ソース文字列','ターゲット文字列','開始位置','出現回数')」です。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
1. instr 関数の概念
Oracle では、instr 関数を使用して次のことができます。特定の文字列を判定し、指定された文字が含まれているかどうかを判断します。文字列内で指定した文字を検索し、見つかった指定した文字の位置を返します。
2、構文
instr(sourceString,destString,start,appearPosition) instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')
ここで、sourceString はソース文字列を表し、
destString はソース文字列から検出される部分文字列を表します。
start は検索の開始位置を表します。このパラメータはオプションで、デフォルトは 1 です。
AppearancePosition は、ソース文字から検索する destString の出現数を表します。このパラメータはまた、デフォルトは 1
start の値が負の数の場合、右から左に検索することを意味しますが、位置データは左から右に計算されます。
戻り値は、見つかった文字列の位置です。見つからない場合は 0 が返されます。
例:
abcd 内の a の位置を検索し、最初の文字から開始して、最初に出現したときの位置 (最後の 2 つのパラメーター)は省略でき、デフォルトは 1)
select instr('abcd','a',1,1) from dual; ---1 select instr('abcd','c',1,1) from dual; ---3 select instr('abcd','e',1,1) from dual; ---0
この関数はあいまいクエリや包含関係の判定に使用できます。
例:
select code,name,dept,occupation from staff where instr(code, '001')> 0;
は # と同等です。 ##
select code, name, dept, occupation from staff where code like '%001%' ; select ccn,mas_loc from mas_loc where instr('FH,FHH,FHM',ccn)>0;
select ccn,mas_loc from mas_loc where ccn in ('FH','FHH','FHM');
Oracle Video Tutorial」
以上がOracleでinstrメソッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。