PostgreSQL LIKE, Nepáči sa mi, Zástupné znaky (%, _) Príklady

Obsah:

Anonim

Operátor PostgreSQL LIKE nám pomáha porovnávať textové hodnoty so vzormi pomocou zástupných znakov. Je možné priradiť hľadaný výraz k výrazu vzoru.

Ak dôjde k zhode, operátor LIKE vráti hodnotu true. Pomocou operátora LIKE je možné použiť zástupné znaky v klauzule WHERE príkazov SELECT, UPDATE, INSERT alebo DELETE.

V tomto výučbe PostgreSQL sa dozviete toto:

  • Divoké karty
  • Syntax
  • Používanie zástupných znakov%
  • Používanie _ zástupných znakov
  • Používanie operátora NOT
  • Pomocou pgAdmin

Divoké karty

Existujú iba dva zástupné znaky, ktoré je možné použiť spolu s

  • Znak percenta (%)
  • Podčiarkovník (_)

Znak percenta (%) predstavuje nulu, jeden alebo viac znakov alebo čísel.

Zástupný znak podčiarknutia (_) sa používa na vyjadrenie jedného znaku alebo čísla. Tieto symboly je možné aj kombinovať. Ak sa operátor LIKE nepoužíva spolu s týmito dvoma znakmi, bude pôsobiť ako operátor rovnosti.

Syntax

Tu je syntax operátora LIKE:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Výraz je znakový výraz ako stĺpec alebo pole.

Vzor je znakový výraz s priraďovaním vzorov.

Escape-znak je voliteľný parameter. Umožňuje testovanie doslovných inštancií zástupných znakov, ako sú% a _. Ak nie je uvedený, použije sa \ ako únikový znak.

Používanie zástupných znakov%

Ako sme už uviedli, znamienko% sa zhoduje s nulou, jedným alebo viacerými znakmi alebo číslami. Zvážte nasledujúcu tabuľku:

Kniha:

Chceme knihu, ktorá sa volá „Lear

… “Aby sme dosiahli tento výsledok, môžeme spustiť nasledujúci príkaz:
SELECT *FROMBookWHEREname LIKE 'Lear%';

Takto sa vráti toto:

Kniha sa našla.

Vyhľadajme knihu „podľa“ v jej názve:

SELECT *FROMBookWHEREname LIKE '%by%';

Takto sa vráti toto:

Používanie _ zástupných znakov

Ako sme už uviedli, znak _ predstavuje jeden znak alebo číslo. Môže byť použitý ako je uvedené nižšie:

SELECT *FROMBookWHEREname LIKE '_earn%';

Takto sa vráti toto:

Tu je ďalší príklad:

SELECT *FROMBookWHEREname LIKE '%Beginner_';

Takto sa vráti toto:

Používanie operátora NOT

Ak je operátor LIKE skombinovaný s operátorom NOT, vráti sa akýkoľvek riadok, ktorý nezodpovedá vzoru vyhľadávania. Napríklad, aby sme videli knihu, ktorej názov nezačína na „príspevok“, môžeme spustiť nasledujúci príkaz:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Takto sa vráti toto:

Podmienku vyhľadávania splnila iba jedna kniha. Pozrime sa na zoznam mien kníh, ktoré nemajú slovo „Vyrobené“:

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Takto sa vráti toto:

Podmienku vyhľadávania splnili 3 riadky.

Pomocou pgAdmin

Teraz sa pozrime, ako je možné vykonať akcie pomocou pgAdmin.

Používanie zástupných znakov%

Krok 1) Prihláste sa do svojho účtu pgAdmin.

Krok 2)

  1. Na navigačnom paneli vľavo kliknite na položku Databázy.
  2. Kliknite na ukážku.

Krok 3) Zadajte dopyt do editora dotazov:

SELECT *FROMBookWHEREname LIKE 'Lear%';

Krok 4) Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

Vyhľadanie knihy „podľa“ v jej názve:

Krok 1) Do editora dotazov zadajte nasledujúci príkaz:

SELECT *FROMBookWHEREname LIKE '%by%';

Krok 2) Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

Používanie _ zástupných znakov

Krok 1) Prihláste sa do svojho účtu pgAdmin.

Krok 2)

  1. Na navigačnom paneli vľavo kliknite na položku Databázy.
  2. Kliknite na ukážku.

Krok 3) Zadajte dopyt do editora dotazov:

SELECT *FROMBookWHEREname LIKE '_earn%';

Krok 4) Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

Krok 5) Spustenie druhého príkladu:

  1. Do editora dotazov zadajte nasledujúci dotaz:
    SELECT *FROMBookWHEREname LIKE '%Beginner_';
  2. Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

Používanie operátora NOT

Krok 1) Prihláste sa do svojho účtu pgAdmin.

Krok 2)

  1. Na navigačnom paneli vľavo kliknite na položku Databázy.
  2. Kliknite na ukážku.

Krok 3) Ak chcete zobraziť všetky knihy, ktorých mená nezačínajú slovami „Príspevok“, zadajte dopyt v editore dotazov:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Krok 4) Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

Zoznam kníh, ktorých názvy neobsahujú slovo „Vyrobené“, zobrazíte takto:

Krok 1) Do editora dotazov zadajte nasledujúci dotaz:

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Krok 2) Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

Zhrnutie:

  • PostgreSQL LIKE sa používa na porovnávanie textových hodnôt so vzormi pomocou zástupných znakov.
  • Klauzula LIKE nám umožňuje používať zástupné znaky vo príkazoch SELECT, UPDATE, INSERT alebo DELETE.
  • Zástupný znak% sa zhoduje s jednou alebo viacerými hodnotami. Hodnoty môžu byť čísla alebo znaky.
  • Zástupný znak _ sa zhoduje presne s jednou hodnotou. Hodnota môže byť znak alebo číslo.
  • Operátor LIKE je možné kombinovať s operátorom NOT tak, aby vrátil akýkoľvek riadok, ktorý nezodpovedá vzoru vyhľadávania.

Stiahnite si databázu použitú v tomto výučbe