PostgreSQL LIKE, Nelíbí se mi, zástupné znaky (%, _ ) Příklady


Jedno PostgreSQL Operátor LIKE nám pomáhá porovnávat textové hodnoty se vzory pomocí zástupných znaků. Hledaný výraz je možné přiřadit k výrazu vzoru.

Pokud dojde ke shodě, operátor LIKE vrátí hodnotu true. Pomocí operátoru LIKE je možné použít zástupné znaky v klauzuli WHERE příkazů SELECT, UPDATE, INSERT nebo DELETE.

Divoké karty

Existují pouze dva zástupné znaky, které lze použít společně s

  • Znak procenta (%)
  • podtržítko (_)

Znak procenta (%) se používá k reprezentaci nuly, jednoho nebo mnoha znaků nebo čísel.

Zástupný znak podtržítka (_) se používá k reprezentaci jednoho znaku nebo čísla. Tyto symboly lze také kombinovat. Pokud se operátor LIKE nepoužije společně s těmito dvěma znaménky, bude se chovat jako operátor rovná se.

Syntax

Zde je syntaxe operátoru LIKE:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Výraz je znakový výraz jako sloupec nebo pole.

Vzor je znakový výraz s odpovídajícím vzorem.

Escape-character je volitelný parametr. Umožňuje testování doslovných instancí zástupných znaků, jako jsou % a _. Pokud není zadán, bude jako znak escape použit \.

Použití % zástupného znaku

Jak jsme uvedli dříve, znak % odpovídá nule, jednomu nebo více znakům nebo číslům. Zvažte následující tabulku:

Rezervovat:

Použití % zástupného znaku

Chceme, aby kniha, jejíž název je jako „Lear…“, získala tento výsledek, můžeme spustit následující příkaz:

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

Tím se vrátí následující:

Použití % zástupného znaku

Kniha byla nalezena.

Vyhledejme knihu „podle“ v jejím názvu:

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

Tím se vrátí následující:

Použití % zástupného znaku

Použití zástupného znaku _

Jak jsme uvedli dříve, znak _ představuje jeden znak nebo číslo. Může být použit, jak je uvedeno níže:

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

To vrátí následující:

Použití zástupného znaku _

Zde je další příklad:

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

To vrátí následující:

Použití zástupného znaku _

Pomocí NOT OperaTor

Když je operátor LIKE zkombinován s operátorem NOT, je vrácen každý řádek, který neodpovídá vyhledávacímu vzoru. Chcete-li například zobrazit knihu, jejíž název nezačíná „post“, můžeme spustit následující příkaz:

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

To vrátí následující:

Pomocí NOT OperaTor

Podmínku vyhledávání splnila pouze jedna kniha. Podívejme se na seznam názvů knih, které nemají slovo „Vyrobeno“:

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

To vrátí následující:

Pomocí NOT OperaTor

3 řádky splnily podmínku hledání.

Pomocí pgAdmin

Nyní se podívejme, jak lze akce provádět pomocí pgAdmin.

Použití % zástupného znaku

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Použití pgAdmin se zástupným znakem %

Krok 3) Zadejte dotaz v editoru dotazů:

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

Krok 4) Klepněte na tlačítko Spustit.

Použití pgAdmin se zástupným znakem %

Mělo by vrátit následující:

Použití pgAdmin se zástupným znakem %

Chcete-li vyhledat knihu „podle“ v jejím názvu:

Krok 1) V editoru dotazů zadejte následující příkaz:

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

Krok 2) Klepněte na tlačítko Spustit.

Použití pgAdmin se zástupným znakem %

Mělo by vrátit následující:

Použití pgAdmin se zástupným znakem %

Použití zástupného znaku _

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Použití pgAdmin se zástupným znakem _

Krok 3) Zadejte dotaz v editoru dotazů:

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

Krok 4) Klepněte na tlačítko Spustit.

Použití pgAdmin se zástupným znakem _

Mělo by vrátit následující:

Použití pgAdmin se zástupným znakem _

Krok 5) Chcete-li spustit druhý příklad:

  1. V editoru dotazů zadejte následující dotaz:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Klepněte na tlačítko Spustit.

Použití pgAdmin se zástupným znakem _

Mělo by vrátit následující:

Použití pgAdmin se zástupným znakem _

Pomocí NOT OperaTor

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Pomocí NOT Operator v pgAdmin

Krok 3) Chcete-li zobrazit všechny knihy, jejichž názvy nezačínají „Příspěvek“, zadejte dotaz do editoru dotazů:

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

Krok 4) Klepněte na tlačítko Spustit.

Pomocí NOT Operator v pgAdmin

Mělo by vrátit následující:

Pomocí NOT Operator v pgAdmin

Pomocí NOT Operator v pgAdmin

Chcete-li zobrazit seznam knih, jejichž názvy neobsahují slovo „Vyrobeno“:

Krok 1) V editoru dotazů zadejte následující dotaz:

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

Krok 2) Klepněte na tlačítko Spustit.

Pomocí NOT Operator v pgAdmin

Mělo by vrátit následující:

Pomocí NOT Operator v pgAdmin

Shrnutí

  • Jedno PostgreSQL LIKE se používá při porovnávání textových hodnot se vzory pomocí zástupných znaků.
  • Klauzule LIKE nám umožňuje používat zástupné znaky SELECTpříkazy , UPDATE, INSERT nebo DELETE.
  • Zástupný znak % odpovídá jedné nebo více hodnotám. Hodnoty mohou být čísla nebo znaky.
  • Zástupný znak _ odpovídá právě jedné hodnotě. Hodnota může být znak nebo číslo.
  • Operátor LIKE lze kombinovat s operátorem NOT a vrátit libovolný řádek, který neodpovídá vyhledávacímu vzoru.

Stáhněte si databázi použitou v tomto kurzu