PostgreSQL LIKE、NOT LIKE、ワイルドカード (%、_) の例


この PostgreSQL LIKE 演算子は、ワイルドカードを使用してテキスト値をパターンと一致させるのに役立ちます。検索式をパターン式と一致させることも可能です。

一致が見つかった場合、LIKE 演算子は true を返します。LIKE 演算子を使用すると、SELECT、UPDATE、INSERT、または DELETE ステートメントの WHERE 句でワイルドカードを使用できます。

ワイルドカード

一緒に使用できるワイルドカードは XNUMX つだけです

  • パーセント記号 (%)
  • アンダースコア(_)

パーセント記号 (%) は、0 個、1 個、または複数の文字または数字を表すために使用されます。

アンダースコア ワイルドカード (_) は、1 つの文字または数字を表すために使用されます。これらの記号は組み合わせることもできます。LIKE 演算子をこれらの 2 つの記号と一緒に使用しない場合は、等号演算子のように動作します。

構文

LIKE 演算子の構文は次のとおりです。

expression LIKE pattern [ ESCAPE 'escape-character' ]

式は列やフィールドのような文字式です。

パターンはパターンマッチングによる文字表現です。

エスケープ文字はオプションのパラメータです。 これにより、% や _ などのワイルドカード文字のリテラル インスタンスをテストできます。 指定しない場合は、\ がエスケープ文字として使用されます。

%ワイルドカードの使用

前述したように、% 記号は 0 個、1 個、またはそれ以上の文字または数字に一致します。次の表を検討してください。

本:

%ワイルドカードの使用

「Lear…」のような名前の本でその結果を取得したい場合は、次のコマンドを実行します。

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

次のように返されます。

%ワイルドカードの使用

本が見つかりました。

その名前で「by」の本を検索してみましょう。

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

次のように返されます。

%ワイルドカードの使用

_ ワイルドカードの使用

前に述べたように、_ 記号は XNUMX つの文字または数字を表します。 以下に示すように使用できます。

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

これにより、次が返されます。

_ ワイルドカードの使用

次に別の例を示します。

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

これにより、次が返されます。

_ ワイルドカードの使用

NOTの使用 Operaタ

LIKE 演算子を NOT 演算子と組み合わせると、検索パターンに一致しない行が返されます。たとえば、名前が「post」で始まらない本を表示するには、次のコマンドを実行します。

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

これにより、次が返されます。

NOTの使用 Operaタ

検索条件に一致したのは XNUMX 冊だけでした。 「Made」という単語を含まない本の名前のリストを見てみましょう。

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

これにより、次が返されます。

NOTの使用 Operaタ

検索条件に一致した行が 3 件ありました。

pgAdminの使用

次に、pgAdmin を使用してアクションを実行する方法を見てみましょう。

%ワイルドカードの使用

ステップ1) pgAdmin アカウントにログインします。

ステップ2)

  1. 左側のナビゲーション バーで、[データベース] をクリックします。
  2. 「デモ」をクリックします。

% ワイルドカードを使用した pgAdmin の使用

ステップ3) クエリ エディターにクエリを入力します。

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

ステップ4) 「実行」ボタンをクリックします。

% ワイルドカードを使用した pgAdmin の使用

次のような結果が返されます。

% ワイルドカードを使用した pgAdmin の使用

「by」という名前の本を検索するには:

ステップ1) クエリ エディターに次のコマンドを入力します。

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

ステップ2) 「実行」ボタンをクリックします。

% ワイルドカードを使用した pgAdmin の使用

次のような結果が返されます。

% ワイルドカードを使用した pgAdmin の使用

_ ワイルドカードの使用

ステップ1) pgAdmin アカウントにログインします。

ステップ2)

  1. 左側のナビゲーション バーで、[データベース] をクリックします。
  2. 「デモ」をクリックします。

_ ワイルドカードを使用した pgAdmin の使用

ステップ3) クエリ エディターにクエリを入力します。

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

ステップ4) 「実行」ボタンをクリックします。

_ ワイルドカードを使用した pgAdmin の使用

次のような結果が返されます。

_ ワイルドカードを使用した pgAdmin の使用

ステップ5) XNUMX 番目の例を実行するには:

  1. クエリ エディターに次のクエリを入力します。
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. 「実行」ボタンをクリックします。

_ ワイルドカードを使用した pgAdmin の使用

次のような結果が返されます。

_ ワイルドカードを使用した pgAdmin の使用

NOTの使用 Operaタ

ステップ1) pgAdmin アカウントにログインします。

ステップ2)

  1. 左側のナビゲーション バーで、[データベース] をクリックします。
  2. 「デモ」をクリックします。

NOTの使用 OperapgAdmin の Tor

ステップ3) 名前が「Post」で始まらないすべての書籍を表示するには、クエリ エディターにクエリを入力します。

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

ステップ4) 「実行」ボタンをクリックします。

NOTの使用 OperapgAdmin の Tor

次のような結果が返されます。

NOTの使用 OperapgAdmin の Tor

NOTの使用 OperapgAdmin の Tor

名前に「Made」という単語が含まれていない本のリストを表示するには:

ステップ1) クエリ エディターに次のクエリを入力します。

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

ステップ2) 「実行」ボタンをクリックします。

NOTの使用 OperapgAdmin の Tor

次のような結果が返されます。

NOTの使用 OperapgAdmin の Tor

まとめ

  • この PostgreSQL LIKE は、ワイルドカードを使用してテキスト値をパターンと照合する場合に使用されます。
  • LIKE 句を使用すると、ワイルドカードを使用できます。 SELECT、UPDATE、INSERT、または DELETE ステートメント。
  • % ワイルドカードは 1 つ以上の値と一致します。値には数字または文字を使用できます。
  • _ ワイルドカードは XNUMX つの値にのみ一致します。 値には文字または数字を指定できます。
  • LIKE 演算子を NOT 演算子と組み合わせて、検索パターンに一致しない行を返すことができます。

このチュートリアルで使用するデータベースをダウンロードする

続きを読む readmore