Oracle では、 like キーワードを where 句とともに使用して、ファジー クエリ効果を実現できます。ワイルドカードとともに使用して、式の条件を制限できます。構文は、 "SELECT*FROM user WHERE uname LIKE wildcard" です。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
1. where 句で like キーワードを使用すると、Oracle ファジー クエリの効果を実現できます。where 句では datetime を使用できます。 , char および varchar フィールド タイプの列では、あいまいクエリを実装するために、ワイルドカードを含む Like キーワードを使用します。使用できるワイルドカードは次のとおりです:
(1) %: 0 個以上の文字。 using %
「%keyword%」フィールドに「キーワード」が含まれるレコードのようなフィールド
「キーワード%」フィールドが「キーワード」で始まるレコードのようなフィールド
「キーワード」フィールドが「キーワード」で終わる%レコードのようなフィールド
例:
SELECT * FROM [user] WHERE uname LIKE ‘%三%’
検索結果: "Zhang San"、"Xiao San"、"Three-legged Cat"、"猫三本足」 はい 「三本足」のすべてのレコードを検索します。
SELECT * FROM [user] WHERE uname LIKE ‘%三’ (从后开始匹配)
検索結果: "Zhang San"、"Xiao San"
さらに、uname で "三" と "猫" の両方を含むレコードを検索する必要がある場合は、 と を使用してください。条件
SELECT *FROM [user] WHERE uname LIKE ‘%三%’ AND uname LIKE ‘%猫%’
SELECT * FROM [user] WHERE uname LIKE '%三%cat%' を使用すると、「三本足の猫」は検索できますが、「三本足の猫」は検索できません。
(2)_: 任意の 1 文字 (アンダースコア) は、式の文字長を制限するためによく使用されます:
例:
SELECT * FROM [user] WHERE uname LIKE ‘三’
検索結果: "猫 三本足" このように、uname は 3 文字で、真ん中の文字は "three";
SELECT * FROM [user] WHERE uname LIKE ‘三__’;
検索結果: "三本足の猫" なので、uname は 3 文字で、最初の文字は "three";
(3) []: 括弧内にリストされた文字の 1 つを表す、特定の範囲内の文字 (正規表現と同様)。文字、文字列、または範囲を指定し、一致するオブジェクトがそれらのいずれかである必要があります。
例:
SELECT * FROM [user] WHERE u_name LIKE ‘[张李王]三’
検索結果: "Zhang San"、"Li San"、"Wang San" ("Zhang Li Wang San" ではなく);
このようなas [ ] には一連の文字 (01234、abcde など) が含まれており、「0-4」、「a-e」と省略できます。
SELECT * FROM [user] WHERE u_name LIKE ‘老[1-9]’
検索結果: "Old 1"、"Old 2" ,... , "老9";
(4) [^]: 一定範囲外の文字は[ ]と逆に使用されます。
2. Oracle では instr(strSource, strTarget) 関数が提供されており、「%キーワード%」モードを使用するよりもはるかに効率的です。
instr 関数には 3 つの状況もあります。
instr(field,'keyword')>0 は、'%keyword%' のようなフィールドと同等です。
instr(field ,'keyword')=1 は、'keyword%' のようなフィールドと同等です
instr(field,'keyword')=0 は、'%keyword%' のようなフィールドと同等です
Example :
SELECT * FROM [user] WHEREinstr(uname ,’三’)>0
使用方法については、上記同様を参照してください。
特別な使用方法:
select id, namefrom user where instr(‘101914, 104703’, id) > 0;
これは、
select id, namefrom user where id = 101914 or id = 104703;
と同等です推奨チュートリアル:《OracleVideoTutorial>>
以上がオラクルでの like の使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。