Operátor PostgreSQL LIKE nám pomáhá porovnávat textové hodnoty se vzory pomocí zástupných znaků. Je možné přiřadit vyhledávací výraz k výrazu vzoru.
Pokud dojde ke shodě, vrátí operátor LIKE hodnotu true. S pomocí operátoru LIKE je možné použít zástupné znaky v klauzuli WHERE příkazů SELECT, UPDATE, INSERT nebo DELETE.
V tomto výukovém programu PostgreSQL se naučíte následující:
- Divoké karty
- Syntax
- Používání zástupných znaků%
- Použití _ zástupného znaku
- Používání operátoru NOT
- Pomocí pgAdmin
Divoké karty
Existují pouze dva zástupné znaky, které lze použít společně s
- Znak procenta (%)
- Podtržítko (_)
Znak procenta (%) představuje nulu, jeden nebo mnoho znaků nebo čísel.
Zástupný znak podtržítka (_) slouží k reprezentaci jednoho znaku nebo čísla. Tyto symboly lze také kombinovat. Pokud se operátor LIKE nepoužívá společně s těmito dvěma znaky, 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-znak je volitelný parametr. Umožňuje testování doslovných instancí zástupných znaků, například% a _. Pokud není zadán, bude jako znak escape použito \.
Používání zástupných znaků%
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:
Chceme knihu, jejíž název je jako „Lear
… “Abychom dosáhli tohoto výsledku, můžeme spustit následující příkaz:SELECT *FROMBookWHEREname LIKE 'Lear%';
Tím se vrátí následující:
Kniha byla nalezena.
Vyhledejme knihu „podle“ v jejím názvu:
SELECT *FROMBookWHEREname LIKE '%by%';
Tím se vrátí následující:
Použití _ zástupného znaku
Jak jsme uvedli dříve, znaménko _ představuje jeden znak nebo číslo. Lze jej použít, jak je znázorněno níže:
SELECT *FROMBookWHEREname LIKE '_earn%';
Tím se vrátí následující:
Zde je další příklad:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
Tím se vrátí následující:
Používání operátoru NOT
Když je operátor LIKE kombinován s operátorem NOT, je vrácen jakýkoli řádek, který neodpovídá vzoru hledání. Chcete-li například zobrazit knihu, jejíž název nezačíná na „příspěvek“, můžeme spustit následující příkaz:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Tím se vrátí následující:
Pouze jedna kniha splnila podmínku hledání. Podívejme se na seznam jmen knih, které nemají slovo „Made“:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Tím se vrátí následující:
3 řádky splnily podmínku hledání.
Pomocí pgAdmin
Nyní se podívejme, jak lze akce provádět pomocí pgAdmin.
Používání zástupných znaků%
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigačním panelu vlevo klikněte na Databáze.
- Klikněte na ukázku.
Krok 3) Zadejte dotaz do editoru dotazů:
SELECT *FROMBookWHEREname LIKE 'Lear%';
Krok 4) Klikněte na tlačítko Provést.
Mělo by vrátit následující:
Hledání knihy „podle“ v jejím názvu:
Krok 1) Do editoru dotazů zadejte následující příkaz:
SELECT *FROMBookWHEREname LIKE '%by%';
Krok 2) Klikněte na tlačítko Provést.
Mělo by vrátit následující:
Použití _ zástupného znaku
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigačním panelu vlevo klikněte na Databáze.
- Klikněte na ukázku.
Krok 3) Zadejte dotaz do editoru dotazů:
SELECT *FROMBookWHEREname LIKE '_earn%';
Krok 4) Klikněte na tlačítko Provést.
Mělo by vrátit následující:
Krok 5) Spuštění druhého příkladu:
- Zadejte následující dotaz v editoru dotazů:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
- Klikněte na tlačítko Provést.
Mělo by vrátit následující:
Používání operátoru NOT
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigačním panelu vlevo klikněte na Databáze.
- Klikněte na ukázku.
Krok 3) Chcete-li zobrazit všechny knihy, jejichž názvy nezačínají slovem „Odeslat“, zadejte dotaz v editoru dotazů:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Krok 4) Klikněte na tlačítko Provést.
Mělo by vrátit následující:
Seznam knih, jejichž názvy nemají slovo „Made“, zobrazíte takto:
Krok 1) Zadejte následující dotaz do editoru dotazů:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Krok 2) Klikněte na tlačítko Provést.
Mělo by vrátit následující:
Souhrn:
- 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 v příkazech SELECT, 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á přesně 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á vzoru hledání.
Stáhněte si databázi použitou v tomto výukovém programu