PostgreSQL LIKE、NOT LIKE、ワイルドカード (%、_) の例
⚡ スマートサマリー
PostgreSQL LIKE は、パーセント記号とアンダースコアという 2 つのワイルドカードを使用して、テキストをパターンと照合します。このチュートリアルでは、SELECT ステートメントで LIKE と NOT LIKE を使用する方法を、それぞれのケースについて psql と pgAdmin の実例を交えて解説します。

その PostgreSQL LIKE 演算子は、ワイルドカードを使用してテキスト値をパターンと照合します。検索式がパターンに一致する場合、LIKE は値を返します。 trueワイルドカードは WHERE の条項 SELECT, UPDATE, INSERTまたは DELETE.
何ですか PostgreSQL ワイルドカード?
PostgreSQL 2つのLIKEワイルドカードをサポートしています。
- パーセント記号 (
%): 0個、1個、または複数の文字または数字に一致します。 - アンダースコア(
_): 正確に1文字または1桁の数字と一致する。
2 つの記号は同じパターン内で組み合わせることができます。LIKE をワイルドカードなしで使用した場合、等号 (=) 演算子。
PostgreSQL LIKE構文
基本的なLIKE構文は次のとおりです。
expression LIKE pattern [ ESCAPE 'escape-character' ]
- 表現 — 文字式。通常は列名またはフィールド名。
- パターン — ワイルドカードを含む文字式。
- エスケープ文字 — オプション。リテラルに一致させることができます
%or_文字。省略した場合、バックスラッシュ(\) はデフォルトのエスケープ文字です。
PostgreSQL % ワイルドカード付きで「いいね!」
その % 符号は、0、1、またはそれ以上の文字に一致します。以下を考慮してください。 Book テーブル:
「リア王」で始まるタイトルの本を探すには、以下のクエリを実行してください。
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
クエリの結果は以下のとおりです。
名前に「by」という語句がどこかに含まれている書籍を探すには:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
クエリの結果は以下のとおりです。
PostgreSQL _ ワイルドカード付きでいいね!
その _ 記号が正確に1文字に一致する。次のクエリは、最初の文字が任意の1文字で、その後に「earn」が続き、さらに任意の接尾辞が続く名前を検索します。
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
クエリの結果は以下のとおりです。
別の例として、末尾が「Beginner」に1文字を加えた文字列に一致するものを探します。
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
クエリの結果は以下のとおりです。
PostgreSQL みたいではなく Operaタ
LIKEとNOTを組み合わせて、 パターンに一致するものをすべてリストアップしてください。例えば、「Post」で始まらない本をすべてリストアップしてください。
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
クエリの結果は以下のとおりです。
条件を満たす本は1冊だけです。次に、名前が条件を満たすすべての本をリストアップしてください。 「Made」という単語を含む:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
クエリの結果は以下のとおりです。
3つの行が条件を満たしています。
pgAdminでLIKEを使用する
同じクエリは、pgAdminのクエリツール内でグラフィカルに実行することもできます。
pgAdminにおけるワイルドカードの割合
ステップ1) pgAdminにログインしてください。
ステップ2) 左側のナビゲーションバーで、 データベース、次に以下をクリックします デモ.
ステップ3) クエリ エディターにクエリを入力してください。
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
ステップ4) 詳しくはこちら 実行する.
結果ペインには、一致する書籍が表示されます。
タイトルに「by」が含まれる書籍を検索するには:
ステップ1) クエリ エディターに以下を入力してください。
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
ステップ2) 詳しくはこちら 実行する.
結果ペインには以下が表示されます。
_ pgAdmin のワイルドカード
ステップ1) pgAdminにログインしてください。
ステップ2) 左側のナビゲーションバーで、 データベース、次に以下をクリックします デモ.
ステップ3) クエリ エディターにクエリを入力してください。
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
ステップ4) 詳しくはこちら 実行する.
結果ペインには以下が表示されます。
ステップ5) 2番目の例を実行してください。
- クエリ エディターにクエリを入力してください。
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
- 詳しくはこちら 実行する.
結果ペインには以下が表示されます。
pgAdminとは異なります
ステップ1) pgAdminにログインしてください。
ステップ2) 左側のナビゲーションバーで、 データベース、次に以下をクリックします デモ.
ステップ3) 名前が「Post」で始まらないすべての書籍を一覧表示するには、次のように入力します。
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
ステップ4) 詳しくはこちら 実行する.
結果ペインには以下が表示されます。
「Made」という単語がタイトルに含まれていない書籍を一覧表示するには:
ステップ1) クエリ エディターに以下を入力してください。
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
ステップ2) 詳しくはこちら 実行する.
結果ペインには以下が表示されます。
このチュートリアルで使用するデータベースをダウンロードしてください。.























