PostgreSQL LIKE, Nelíbí se mi, zástupné znaky (%, _ ) Příklady
⚡ Chytré shrnutí
PostgreSQL Funkce LIKE porovnává text se vzory pomocí dvou zástupných znaků – znaku procenta a podtržítka. Tento tutoriál ukazuje, jak používat LIKE a NOT LIKE v příkazech SELECT, s příklady z psql a pgAdmin pro každý případ.

Jedno PostgreSQL LIKE Operátor porovnává textové hodnoty se vzory pomocí zástupných znaků. Pokud hledaný výraz odpovídá vzoru, LIKE vrátí trueZástupné znaky fungují v WHERE klauzule SELECT, UPDATE, INSERTnebo DELETE.
Jaké jsou PostgreSQL zástupné znaky?
PostgreSQL podporuje dva zástupné znaky LIKE:
- Znaménko procenta (
%): odpovídá nule, jednomu nebo více znakům či číslicím. - Podtržítko (
_): odpovídá přesně jednomu znaku nebo číslici.
Tyto dva symboly lze kombinovat v rámci stejného vzoru. Pokud se LIKE použije bez zástupných znaků, chová se jako symbol rovná se (=) operátor.
PostgreSQL Syntaxe LIKE
Základní syntaxe LIKE je:
expression LIKE pattern [ ESCAPE 'escape-character' ]
- výraz — znakový výraz, obvykle název sloupce nebo pole.
- vzor — znakový výraz, který obsahuje zástupné znaky.
- escape-character — volitelné. Umožňuje porovnat doslovný výraz
%or_znaky. Pokud je vynecháno, zpětné lomítko (\) je výchozí řídicí znak.
PostgreSQL LIKE s zástupným znakem %
Jedno % Znaménko odpovídá nule, jednomu nebo více znakům. Uvažte následující Book stůl:
Chcete-li najít knihy, jejichž název začíná slovem „Lear“, spusťte níže uvedený dotaz.
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Dotaz vrací:
Chcete-li kdekoli najít knihy, jejichž název obsahuje slovo „od“:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Dotaz vrací:
PostgreSQL LIKE s zástupným znakem _
Jedno _ Znak odpovídá přesně jednomu znaku. Následující dotaz vyhledá jména, kde prvním znakem je libovolné jedno písmeno, následované slovem „earn“ a poté libovolnou příponou:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Dotaz vrací:
Další příklad – nalezení libovolného textu, který končí na „Začátečník“ a jeden další znak:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
Dotaz vrací:
PostgreSQL NELÍBÍ SE MI OperaTor
Zkombinujte LIKE s NOT pro vrácení řádků, které to dělají. ne podle vzoru. Například uveďte všechny knihy, jejichž název nezačíná slovem „Post“:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Dotaz vrací:
Podmínku splňuje pouze jedna kniha. Nyní uveďte všechny knihy, jejichž název splňuje... ne obsahovat slovo „Vyrobeno“:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Dotaz vrací:
Tři řádky splňují podmínku.
Použití LIKE s pgAdmin
Stejné dotazy lze také spustit graficky v nástroji Query Tool v pgAdmin.
% zástupný znak v pgAdmin
Krok 1) Přihlaste se do pgAdminu.
Krok 2) V navigační liště vlevo klikněte Databáze, poté klepněte na tlačítko Demonstrace.
Krok 3) Zadejte dotaz do editoru dotazů:
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Krok 4) klikněte Provést.
V panelu výsledků se zobrazí odpovídající knihy:
Chcete-li vyhledat knihu, která má kdekoli v názvu slovo „od“:
Krok 1) Do editoru dotazů zadejte následující:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Krok 2) klikněte Provést.
V panelu výsledků se zobrazuje:
_ Zástupný znak v pgAdmin
Krok 1) Přihlaste se do pgAdminu.
Krok 2) V navigační liště vlevo klikněte Databáze, poté klepněte na tlačítko Demonstrace.
Krok 3) Zadejte dotaz do editoru dotazů:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Krok 4) klikněte Provést.
V panelu výsledků se zobrazuje:
Krok 5) Spusťte druhý příklad:
- Zadejte dotaz do editoru dotazů:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
- klikněte Provést.
V panelu výsledků se zobrazuje:
NEJAKO v pgAdminu
Krok 1) Přihlaste se do pgAdminu.
Krok 2) V navigační liště vlevo klikněte Databáze, poté klepněte na tlačítko Demonstrace.
Krok 3) Chcete-li zobrazit seznam všech knih, jejichž název nezačíná slovem „Post“, zadejte:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Krok 4) klikněte Provést.
V panelu výsledků se zobrazuje:
Chcete-li vypsat knihy, jejichž název neobsahuje slovo „Made“ (Vyrobeno):
Krok 1) Do editoru dotazů zadejte následující:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Krok 2) klikněte Provést.
V panelu výsledků se zobrazuje:
Stáhněte si databázi použitou v tomto tutoriálu.























