Oracle LIKE

Oracle Like



Oracle'is ja teistes relatsiooniandmebaasides on mustrite sobitamine populaarne funktsioon, mis võimaldab otsida stringimustreid spetsiaalsete süntaksite abil. Näiteks saate otsida alamstringi suurest stringide hulgast, kasutades mustri sobitamise operaatoreid ja funktsioone.

See muudab selle väga kasulikuks lihtsate otsinguklauslite koostamiseks, ilma et see põhjustaks andmebaasis olulisi jõudlustrahve.







Selles õpetuses puutute kokku Oracle'i operaatoriga LIKE, et teha mustri sobitamise päringuid.



Operaator Oracle LIKE

Oracle'i operaator LIKE võimaldab otsida konkreetset mustrit antud veerus. Näiteks saate selle abil leida kõik read, kus kliendi eesnimi algab mustriga 'Ja'.



Sageli kasutatakse seda operaatorit koos teiste SQL-klauslitega, näiteks WHERE-klausliga, et filtreerida meie tulemusi konkreetse mustri alusel.





Saame väljendada LIKE-operaatori süntaksit SQL-is, nagu allpool näidatud:

väljend LIKE muster [ PÕGENEMA 'escape_character' ]



  1. Avaldise parameeter määrab veeru, mida soovite otsida.
  2. Mustri parameeter määrab konkreetse mustri, mida soovite otsida. Määratud muster võib sisaldada metamärke, nagu % ja _, mis vastavad vastavalt suvalisele arvule tähemärkidele või ühele märgile.
  3. Võime lisada ka ESCAPE-klausli, et määrata paomärk, mida kasutatakse tegelike metamärkide otsimiseks.

Oracle LIKE operaatori näited

Järgmised näited näitavad, kuidas kasutada Oracle'i tabelis operaatorit LIKE.

Oletame, et meil on tabel, mis sisaldab allpool näidatud klienditeavet:

Näide 1 – metamärkide % kasutamine

Saame kasutada metamärke %, et sobitada mis tahes nullist või enamast tähemärgist koosnevat stringi. Näiteks leiame kõik kirjed tabelist, mis sisaldab nime 'Will%'.

Võtke allpool näidatud töötajate tabel:

vali eesnimi, perekonnanimi, palk
alates EMPLOYEES
kus FIRST_NAME meeldib 'Will%'
järjesta ees_nime järgi;

Eelmine päring valib töötajate tabelist veerud eesnimi, perekonnanimi ja palk ning järjestab saadud väärtused veeru eesnimi järgi.

Kombineerime ka kus-klausli koos operaatoriga LIKE ja metamärke %, et tuua ainult need read, kus eesnimi algab sõnaga Will.

See peaks tagastama read järgmiselt:

Konkreetse mustriga lõppevate ridade toomiseks saame kasutada ka metamärki %.

Näide on näidatud allpool:

vali eesnimi, perekonnanimi, palk
alates EMPLOYEES
kus FIRST_NAME meeldib '%on'
järjesta ees_nime järgi;

Sel juhul peaks eelmine päring tagastama kõik read, kus eesnimi lõpeb tähega 'er'. Saadud väärtuse näide on näidatud allpool:

Oracle'i andmebaasi LIKE operaator on vaikimisi tõstutundlik, seega on oluline seda konkreetsete mustrite otsimisel meeles pidada. Selle käitumise tühistamiseks saate kasutada muid funktsioone, nagu alumine ja ülemine.

Näide 2 – paoklausli kasutamine

Järgmine näide näitab, kuidas kasutada ESCAPE-klauslit Oracle LIKE operaatoris:

vali eesnimi, perekonnanimi, palk, vahendustasu_protsent
alates EMPLOYEES
kus Commission_pct like 'kakskümmend\%' põgeneda '\' ;

Eelmine päring valib tabelist TÖÖTAJAD veerud ees_nimi, perekonnanimi, palk ja vahendustasu_protsent. WHERE-klausel kasutab operaatorit LIKE koos ESCAPE-klausliga, et tuua kirjed, mille veerg Commission_pct sisaldab stringi „20%” (koos %-märgiga, mitte metamärgiga).

Sel juhul eemaldame stringi 20% otsimisel % märgist kaldkriipsuga (\). See võimaldab operaatoril LIKE otsida täpset stringi „20%”, selle asemel, et käsitleda % märki metamärgina.

See päring tagastaks kõik read tabelist TÖÖTAJAD, kus veerg Commission_pct sisaldab täpset stringi „20%” koos nende ridade eesnimi, perekonnanimi ja palga veergudega.

Järeldus

Selles postituses õppisite, kuidas kasutada Oracle'i andmebaasides operaatorit LIKE, et otsida tabelist konkreetseid mustreid. Metamärkide ja ESCAPE-klausli abil esiletõstmiseks on toodud mitmeid näiteid.