Oracle LIKE

Oracle Like



V Oracle in drugih relacijskih bazah podatkov je ujemanje vzorcev priljubljena funkcija, ki vam omogoča iskanje vzorcev nizov z uporabo posebnih sintaks. Na primer, lahko iščete podniz znotraj velikega nabora nizov z uporabo operatorjev in funkcij za ujemanje vzorcev.

Zaradi tega je zelo uporaben za ustvarjanje enostavnih iskalnih klavzul, ne da bi pri tem povzročil znatno poslabšanje zmogljivosti baze podatkov.







V tej vadnici boste naleteli na operator LIKE v Oraclu za izvajanje poizvedb za ujemanje vzorcev.



Operator Oracle LIKE

Operator LIKE v Oraclu vam omogoča iskanje določenega vzorca v danem stolpcu. Uporabite ga lahko na primer za iskanje vseh vrstic, kjer se ime stranke začne z vzorcem »Ja«.



Ta operator boste pogosto našli v povezavi z drugimi členi SQL, kot je člen WHERE, za filtriranje naših rezultatov na podlagi določenega vzorca.





Sintakso operatorja LIKE lahko izrazimo v SQL, kot je prikazano spodaj:

izraz LIKE vzorec [ POBEŽI 'escape_character' ]



  1. Parameter izraza določa stolpec, po katerem želite iskati.
  2. Parameter vzorec določa poseben vzorec, ki ga želite iskati. Podani vzorec lahko vsebuje nadomestne znake, kot sta % in _, da se ujema s poljubnim številom znakov ali enim znakom.
  3. Vključimo lahko tudi klavzulo ESCAPE, da določimo ubežni znak, ki se uporablja za iskanje dejanskih nadomestnih znakov.

Primeri operaterja Oracle LIKE

Naslednji primeri prikazujejo, kako uporabiti operator LIKE v tabeli Oracle.

Recimo, da imamo tabelo s podatki o strankah, kot je prikazano spodaj:

Primer 1 – Uporaba nadomestnih znakov %

Uporabimo lahko nadomestne znake % za ujemanje poljubnih nizov z nič ali več znaki. Na primer, najdemo lahko vse vnose v tabeli, ki vsebuje ime 'Will%'.

Vzemite tabelo zaposlenih, prikazano spodaj:

izberite ime, priimek, plača
od ZAPOSLENIH
kjer je všeč FIRST_NAME 'Volja%'
vrstni red po imenu;

Prejšnja poizvedba iz tabele zaposlenih izbere stolpce first_name, last_name in plačo ter razvrsti nastale vrednosti po stolpcu first_name.

Prav tako kombiniramo klavzulo where v povezavi z operatorjem LIKE z nadomestnimi znaki %, da pridobimo samo vrstice, kjer se ime začne z 'Will'.

To bi moralo vrniti vrstice kot:

Za pridobitev vrstic, ki se končajo z določenim vzorcem, lahko uporabimo tudi nadomestni znak %.

Spodaj je prikazan primer:

izberite ime, priimek, plača
od ZAPOSLENIH
kjer je všeč FIRST_NAME '%je'
vrstni red po imenu;

V tem primeru mora prejšnja poizvedba vrniti vse vrstice, kjer se ime konča na 'er'. Primer nastale vrednosti je prikazan spodaj:

Operator LIKE zbirke podatkov Oracle privzeto razlikuje med velikimi in malimi črkami, zato je pomembno, da to upoštevate pri iskanju določenih vzorcev. Za izničenje tega vedenja lahko uporabite druge funkcije, kot sta spodnja in zgornja.

Primer 2 – Uporaba ubežne klavzule

Naslednji primer prikazuje uporabo klavzule ESCAPE v operatorju Oracle LIKE:

izberite ime, priimek, plača, odstotek provizije
od ZAPOSLENIH
kjer je provizija_pct podobno 'dvajset\%' pobegniti '\' ;

Prejšnja poizvedba iz tabele EMPLOYEES izbere stolpce first_name, last_name, salary in provizija_pct. Klavzula WHERE uporablja operator LIKE s klavzulo ESCAPE za pridobivanje zapisov, kjer stolpec promission_pct vsebuje niz '20 %' (z dobesednim znakom %, ne z nadomestnim znakom).

V tem primeru pri iskanju niza 20 % pred znakom % uidemo s poševnico nazaj (\). To omogoča operaterju LIKE, da išče natančen niz '20 %', namesto da znak % obravnava kot nadomestni znak.

Ta poizvedba bi vrnila vse vrstice iz tabele EMPLOYEES, kjer stolpec promission_pct vsebuje natančen niz »20 %«, skupaj s stolpci first_name, last_name in plačo za te vrstice.

Zaključek

V tej objavi ste se naučili, kako uporabiti operator LIKE v zbirkah podatkov Oracle za iskanje določenih vzorcev v tabeli. Na voljo je več primerov za poudarjanje uporabe nadomestnih znakov in klavzule ESCAPE.