方法: 1. ステートメント「select * from table name where order_no not likecharacters」を使用してクエリを実行します; 2. ステートメント「select * from table name where not regexp_like (order_no,characters)」を使用してクエリを実行します。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
開発プロセス中に、ユーザーが抽出したいデータ列に YF、ZF、および ZF の文字列が含まれていないという要件が発生しました。 and JD.
方法 1:
select * from table where order_no not like '%YF%' and order_no not like '%ZF' and order_no not like '%JD%'
方法 1 は少し愚かな気がします。REGEXP_LIKE には複数の REGEXP_LIKE を含めることができると思いました。not を前に追加すると、含まれない関数を実現できます。メソッドは次のとおりです:
メソッド 2:
select * from table where not regexp_like(order_no,'YF|ZF|JD')
どちらのメソッドも実装できますが、効率の問題があります。2 か月間 110,000 データをクエリした後、メソッド 1 には 18 秒かかり、メソッド 2 には 18 秒かかりました15 秒で、方法 1 を 3 回連続でテストしました。方法 1 の方が 2 ~ 3 秒速くなります。データ量が多い場合は、方法 1 を使用することをお勧めします。
推奨チュートリアル: 「Oracle ビデオ チュートリアル 」
以上が指定された文字を含まないOracleでクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。