Oracle LIKE

Oracle Like



În Oracle și în alte baze de date relaționale, potrivirea modelelor este o caracteristică populară care vă permite să căutați modele de șir folosind sintaxe speciale. De exemplu, puteți căuta un subșir într-un set mare de șiruri folosind operatorii și funcțiile de potrivire a modelelor.

Acest lucru îl face foarte util pentru construirea de clauze de căutare simple, fără a suporta penalități semnificative de performanță în baza de date.







În acest tutorial, veți întâlni operatorul LIKE din Oracle pentru a efectua interogări de potrivire a modelelor.



Operator Oracle LIKE

Operatorul LIKE din Oracle vă permite să căutați un model specific într-o coloană dată. De exemplu, îl puteți folosi pentru a găsi toate rândurile în care prenumele unui client începe cu modelul „Ja”.



Veți găsi adesea acest operator folosit împreună cu alte clauze SQL, cum ar fi clauza WHERE, pentru a filtra rezultatele noastre pe baza unui model specific.





Putem exprima sintaxa operatorului LIKE în SQL așa cum se arată mai jos:

expresie LIKE model [ EVADARE „caracter_escape” ]



  1. Parametrul expresie specifică coloana pe care doriți să o căutați.
  2. Parametrul model definește modelul specific pe care doriți să îl căutați. Modelul specificat poate conține caractere wildcard precum % și _ pentru a se potrivi cu orice număr de caractere sau, respectiv, un singur caracter.
  3. Putem include, de asemenea, clauza ESCAPE pentru a specifica un caracter de escape folosit pentru a căuta caracterele joker reale.

Exemple de operatori Oracle LIKE

Următoarele exemple demonstrează cum să utilizați operatorul LIKE într-un tabel Oracle.

Să presupunem că avem un tabel care conține informații despre clienți, așa cum se arată mai jos:

Exemplul 1 – Utilizarea % caractere wildcard

Putem folosi % caractere wildcard pentru a potrivi orice șir de caractere de zero sau mai multe caractere. De exemplu, putem găsi toate intrările într-un tabel care conține Numele „Will%”.

Luați tabelul angajaților prezentat mai jos:

Selectați prenume, prenume, salariu
de la ANGAJATI
unde îi place lui FIRST_NAME 'Voi%'
ordona dupa prenume;

Interogarea anterioară selectează coloanele first_name, last_name și salariu din tabelul angajaților și ordonează valorile rezultate după coloana first_name.

De asemenea, combinăm o clauză where în combinație cu un operator LIKE cu % caractere wildcard pentru a prelua doar rândurile în care prenumele începe cu „Will”.

Aceasta ar trebui să returneze rândurile ca:

De asemenea, putem folosi caracterul joker % pentru a prelua rândurile care se termină într-un anumit model.

Un exemplu este prezentat mai jos:

Selectați prenume, prenume, salariu
de la ANGAJATI
unde îi place lui FIRST_NAME '%este'
ordona dupa prenume;

În acest caz, interogarea anterioară ar trebui să returneze toate rândurile în care prenumele se termină cu „er”. Un exemplu de valoare rezultată este prezentat mai jos:

Operatorul LIKE al bazei de date Oracle ține cont de majuscule și minuscule în mod implicit, așa că este esențial să țineți cont de acest lucru atunci când căutați modele specifice. Puteți folosi alte funcții, cum ar fi inferior și superior, pentru a anula acest comportament.

Exemplul 2 – Utilizarea clauzei de evadare

Următorul exemplu demonstrează cum se utilizează clauza ESCAPE în operatorul Oracle LIKE:

Selectați prenume, prenume, salariu, comision_pct
de la ANGAJATI
unde comision_pct ca 'douăzeci\%' evadare '\' ;

Interogarea anterioară selectează coloanele first_name, last_name, salariu și comision_pct din tabelul EMPLOYEES. Clauza WHERE folosește operatorul LIKE cu clauza ESCAPE pentru a prelua înregistrările în care coloana commission_pct conține șirul „20%” (cu un caracter % literal, nu un wildcard).

În acest caz, evadăm caracterul % cu un caracter backslash (\) când căutăm șirul 20%. Acest lucru permite operatorului LIKE să caute șirul exact „20%” în loc să trateze caracterul % ca un wildcard.

Această interogare ar returna toate rândurile din tabelul EMPLOYEES, unde coloana commission_pct conține șirul exact „20%”, împreună cu coloanele first_name, last_name și salariu pentru acele rânduri.

Concluzie

În această postare, ați învățat cum să utilizați operatorul LIKE în bazele de date Oracle pentru a căuta anumite modele într-un tabel. Sunt furnizate mai multe exemple pentru a evidenția utilizarea caracterelor joker și a clauzei ESCAPE.