ホームページ > データベース > Oracle > オラクルでの like の使用法は何ですか

オラクルでの like の使用法は何ですか

WBOY
リリース: 2022-03-02 17:08:39
オリジナル
26402 人が閲覧しました

Oracle では、 like キーワードを where 句とともに使用して、ファジー クエリ効果を実現できます。ワイルドカードとともに使用して、式の条件を制限できます。構文は、 "SELECT*FROM user WHERE uname LIKE wildcard" です。

オラクルでの like の使用法は何ですか

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

oracle での like の使用法とは何ですか

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート