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' ]- Parametar izraza navodi stupac koji želite pretraživati.
- 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.
- 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ćaod 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ćaod 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 provizijeod 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.