Oracle LIKE

Oracle Like



V Oracle a iných relačných databázach je porovnávanie vzorov populárnou funkciou, ktorá vám umožňuje vyhľadávať vzory reťazcov pomocou špeciálnych syntaxí. Môžete napríklad vyhľadať podreťazec vo veľkej množine reťazcov pomocou operátorov a funkcií na porovnávanie vzorov.

Vďaka tomu je veľmi užitočný pri vytváraní jednoduchých vyhľadávacích klauzúl bez toho, aby to znamenalo výrazné zníženie výkonu databázy.







V tomto návode sa stretnete s operátorom LIKE v Oracle, aby ste mohli vykonávať dotazy na porovnávanie vzorov.



Operátor Oracle LIKE

Operátor LIKE v Oracle umožňuje vyhľadať konkrétny vzor v danom stĺpci. Môžete ho použiť napríklad na nájdenie všetkých riadkov, kde krstné meno zákazníka začína vzorom „Ja“.



Tento operátor sa často používa v spojení s inými klauzulami SQL, ako je klauzula WHERE, na filtrovanie našich výsledkov na základe špecifického vzoru.





Môžeme vyjadriť syntax operátora LIKE v SQL, ako je uvedené nižšie:

výraz LIKE vzor [ ÚNIK 'escape_character' ]



  1. Parameter výraz určuje stĺpec, ktorý chcete prehľadávať.
  2. Parameter vzor definuje špecifický vzor, ​​ktorý chcete vyhľadať. Zadaný vzor môže obsahovať zástupné znaky ako % a _, aby sa zhodoval s ľubovoľným počtom znakov alebo s jedným znakom.
  3. Môžeme tiež zahrnúť klauzulu ESCAPE na určenie znaku escape, ktorý sa používa na vyhľadávanie skutočných zástupných znakov.

Príklady operátorov Oracle LIKE

Nasledujúce príklady ukazujú, ako používať operátor LIKE v tabuľke Oracle.

Predpokladajme, že máme tabuľku obsahujúcu informácie o zákazníkovi, ako je uvedené nižšie:

Príklad 1 – Použitie % zástupných znakov

Zástupné znaky % môžeme použiť na priradenie ľubovoľných reťazcov nula alebo viacerých znakov. Napríklad môžeme nájsť všetky položky v tabuľke obsahujúcej názov „Will%“.

Vezmite tabuľku zamestnancov zobrazenú nižšie:

vyberte meno, priezvisko, plat
od ZAMESTNANCOV
kde sa páči FIRST_NAME 'Will%'
zoradiť podľa krstného_mena;

Predchádzajúci dotaz vyberie stĺpce first_name, last_name a plat z tabuľky zamestnancov a zoradí výsledné hodnoty podľa stĺpca first_name.

Kombinujeme aj klauzulu where v spojení s operátorom LIKE so zástupnými znakmi %, aby sme získali iba riadky, kde krstné meno začína na „Will“.

Toto by malo vrátiť riadky ako:

Môžeme tiež použiť zástupný znak % na načítanie riadkov, ktoré končia špecifickým vzorom.

Príklad je uvedený nižšie:

vyberte meno, priezvisko, plat
od ZAMESTNANCOV
kde sa páči FIRST_NAME '%je'
zoradiť podľa krstného_mena;

V tomto prípade by predchádzajúci dotaz mal vrátiť všetky riadky, kde krstné meno končí na „er“. Príklad výslednej hodnoty je uvedený nižšie:

Operátor LIKE databázy Oracle v predvolenom nastavení rozlišuje malé a veľké písmená, takže je dôležité mať na to pri vyhľadávaní konkrétnych vzorov pamätať. Na negovanie tohto správania môžete použiť iné funkcie, ako napríklad spodnú a hornú.

Príklad 2 – Použitie únikovej klauzuly

Nasledujúci príklad ukazuje, ako používať klauzulu ESCAPE v operátorovi Oracle LIKE:

vyberte meno, priezvisko, plat, provízia
od ZAMESTNANCOV
kde provízia_pct ako 'dvadsať\%' uniknúť '\' ;

Predchádzajúci dotaz vyberá stĺpce krstné_meno, priezvisko, plat a provízie_pct z tabuľky ZAMESTNANCI. Klauzula WHERE používa operátor LIKE s klauzulou ESCAPE na načítanie záznamov, v ktorých stĺpec Commission_pct obsahuje reťazec „20 %“ (s doslovným znakom %, nie zástupným znakom).

V tomto prípade pri hľadaní reťazca 20 % znak % unikneme spätnou lomkou (\). To umožňuje operátorovi LIKE vyhľadať presný reťazec „20 %“ namiesto toho, aby považoval znak % za zástupný znak.

Tento dotaz by vrátil všetky riadky z tabuľky ZAMESTNANCI, kde stĺpec Commission_pct obsahuje presný reťazec „20 %“ spolu so stĺpcami krstné meno, priezvisko a plat pre tieto riadky.

Záver

V tomto príspevku ste sa naučili, ako používať operátor LIKE v databázach Oracle na vyhľadávanie konkrétnych vzorov v tabuľke. Existuje niekoľko príkladov na zvýraznenie pomocou zástupných znakov a klauzuly ESCAPE.