Oracle LIKE

Oracle Like



U Oracleu i drugim relacijskim bazama podataka podudaranje uzoraka popularna je značajka koja vam omogućuje pretraživanje uzoraka nizova pomoću posebne sintakse. Na primjer, možete pretraživati ​​podniz unutar velikog skupa nizova pomoću operatora i funkcija za podudaranje uzorka.

To ga čini vrlo korisnim za izgradnju jednostavnih klauzula pretraživanja bez značajnih gubitaka performansi baze podataka.







U ovom vodiču naići ćete na operator LIKE u Oracleu za izvođenje upita za usklađivanje uzorka.



Oracle LIKE operator

Operator LIKE u Oracleu omogućuje vam traženje određenog uzorka u određenom stupcu. Na primjer, možete ga koristiti za pronalaženje svih redaka u kojima ime kupca počinje s uzorkom 'Ja'.



Ovaj operator često ćete pronaći u kombinaciji s drugim SQL klauzulama, kao što je klauzula WHERE, za filtriranje naših rezultata na temelju određenog uzorka.





Možemo izraziti sintaksu LIKE operatora u SQL-u kao što je prikazano u nastavku:

izraz KAO uzorak [ POBJEĆI 'escape_character' ]



  1. Parametar izraza navodi stupac koji želite pretraživati.
  2. Parametar uzorka definira određeni uzorak koji želite pretraživati. Navedeni uzorak može sadržavati zamjenske znakove kao što su % i _ koji odgovaraju bilo kojem broju znakova ili jednom znaku.
  3. Možemo također uključiti klauzulu ESCAPE da navedemo izlazni znak koji se koristi za traženje stvarnih zamjenskih znakova.

Primjeri operatora Oracle LIKE

Sljedeći primjeri pokazuju kako koristiti operator LIKE u Oracle tablici.

Pretpostavimo da imamo tablicu koja sadrži informacije o kupcima kao što je prikazano u nastavku:

Primjer 1 – Upotreba zamjenskih znakova %

Zamjenske znakove % možemo koristiti za podudaranje bilo kojeg niza od nula ili više znakova. Na primjer, možemo pronaći sve unose u tablici koja sadrži naziv 'Will%'.

Uzmite tablicu zaposlenika prikazanu u nastavku:

Odaberi ime, prezime, plaća
od ZAPOSLENIKA
gdje se sviđa FIRST_NAME 'Htjeti%'
poredak po imenu;

Prethodni upit odabire stupce first_name, last_name i plaću iz tablice zaposlenika i raspoređuje dobivene vrijednosti prema stupcu first_name.

Također kombiniramo klauzulu where u kombinaciji s operatorom LIKE sa zamjenskim znakovima % kako bismo dohvatili samo retke u kojima ime počinje s 'Will'.

Ovo bi trebalo vratiti retke kao:

Također možemo koristiti zamjenski znak % za dohvaćanje redaka koji završavaju određenim uzorkom.

Primjer je prikazan u nastavku:

Odaberi ime, prezime, plaća
od ZAPOSLENIKA
gdje se sviđa FIRST_NAME '%je'
poredak po imenu;

U ovom slučaju, prethodni upit trebao bi vratiti sve retke u kojima ime završava na 'er'. Primjer dobivene vrijednosti prikazan je u nastavku:

Operator LIKE baze podataka Oracle prema zadanim je postavkama osjetljiv na velika i mala slova, stoga je to bitno imati na umu dok tražite određene uzorke. Možete koristiti druge funkcije, kao što su donji i gornji, da negirate ovo ponašanje.

Primjer 2 – Korištenje Escape klauzule

Sljedeći primjer pokazuje kako koristiti klauzulu ESCAPE u Oracle LIKE operatoru:

Odaberi ime, prezime, plaća, postotak provizije
od ZAPOSLENIKA
gdje provizija_pct poput 'dvadeset\%' pobjeći '\' ;

Prethodni upit odabire stupce first_name, last_name, salary i provizija_pct iz tablice EMPLOYEES. Klauzula WHERE koristi operator LIKE s klauzulom ESCAPE za dohvaćanje zapisa u kojima stupac provizija_pct sadrži niz '20%' (s doslovnim znakom %, ne zamjenskim znakom).

U ovom slučaju znak % izbjegavamo znakom obrnute kose crte (\) kada tražimo niz 20%. To omogućuje operatoru LIKE da traži točan niz '20%' umjesto da znak % tretira kao zamjenski znak.

Ovaj bi upit vratio sve retke iz tablice EMPLOYEES gdje stupac provizija_pct sadrži točan niz '20%', zajedno sa stupcima first_name, prezime i plaće za te retke.

Zaključak

U ovom ste postu naučili kako koristiti operator LIKE u Oracle bazama podataka za traženje određenih uzoraka u tablici. Dano je nekoliko primjera za isticanje upotrebe zamjenskih znakova i klauzule ESCAPE.