Oracle LIKE

Oracle Like



Az Oracle-ben és más relációs adatbázisokban a mintaillesztés egy népszerű szolgáltatás, amely lehetővé teszi karakterlánc-minták keresését speciális szintaxisok használatával. Például kereshet egy részkarakterláncot a karakterláncok nagy halmazán belül, mintaillesztő operátorok és függvények használatával.

Ez nagyon hasznossá teszi az egyszerű keresési záradékok létrehozását anélkül, hogy jelentős teljesítménybüntetést okozna az adatbázisban.







Ebben az oktatóanyagban találkozhat az Oracle LIKE operátorával, amellyel mintaillesztési lekérdezéseket hajthat végre.



Oracle LIKE operátor

Az Oracle LIKE operátora lehetővé teszi egy adott minta keresését egy adott oszlopban. Használhatja például az összes olyan sor megkeresésére, ahol az ügyfél keresztneve „Ja” mintával kezdődik.



Gyakran előfordul, hogy ezt az operátort más SQL-kikötésekkel, például a WHERE záradékkal együtt használják, hogy egy adott minta alapján szűrjük az eredményeket.





A LIKE operátor szintaxisát SQL-ben az alábbiak szerint tudjuk kifejezni:

kifejezés LIKE minta [ MENEKÜLNI 'menekülési_karakter' ]



  1. A kifejezés paraméter határozza meg a keresni kívánt oszlopot.
  2. A minta paraméter határozza meg a keresni kívánt konkrét mintát. A megadott minta helyettesítő karaktereket tartalmazhat, például % és _, hogy tetszőleges számú karakterhez vagy egyetlen karakterhez illeszkedjen.
  3. Felvehetjük az ESCAPE záradékot is, hogy megadjunk egy escape karaktert, amely a tényleges helyettesítő karakterek keresésére szolgál.

Példák az Oracle LIKE operátorra

A következő példák bemutatják, hogyan kell használni a LIKE operátort egy Oracle táblában.

Tegyük fel, hogy van egy táblázatunk, amely az alábbiak szerint tartalmazza az ügyféladatokat:

1. példa – A % helyettesítő karakterek használata

A % helyettesítő karaktereket használhatjuk bármely nulla vagy több karakterből álló karakterlánc egyeztetésére. Például megtalálhatjuk az összes bejegyzést egy táblázatban, amely a „Will%” nevet tartalmazza.

Vegyük az alábbi táblázatot az alkalmazottakról:

válassza ki keresztnév, vezetéknév, fizetés
az EMPLOYEES-től
ahol FIRST_NAME tetszik 'Akarat%'
sorrend utónév szerint;

Az előző lekérdezés kiválasztja a keresztnév, vezetéknév és fizetés oszlopokat az alkalmazottak táblájából, és a kapott értékeket a keresztnév oszlop szerint rendezi.

Kombinálunk egy where záradékot egy LIKE operátorral együtt a % helyettesítő karakterekkel, hogy csak azokat a sorokat olvassuk le, ahol az első név „Will”-vel kezdődik.

Ennek a következőképpen kell visszaadnia a sorokat:

A % helyettesítő karaktert is használhatjuk az adott mintára végződő sorok lekérésére.

Az alábbiakban egy példa látható:

válassza ki keresztnév, vezetéknév, fizetés
az EMPLOYEES-től
ahol FIRST_NAME tetszik '%is'
sorrend utónév szerint;

Ebben az esetben az előző lekérdezésnek minden olyan sort vissza kell adnia, ahol a keresztnév „er”-re végződik. A kapott értékre példa az alábbiakban látható:

Az Oracle adatbázis LIKE operátora alapértelmezés szerint megkülönbözteti a kis- és nagybetűket, ezért ezt feltétlenül szem előtt kell tartani, amikor konkrét mintákat keres. Használhat más funkciókat, például az alsó és felső függvényt, hogy nelegesítse ezt a viselkedést.

2. példa – Az Escape záradék használata

A következő példa bemutatja, hogyan kell használni az ESCAPE záradékot az Oracle LIKE operátorban:

válassza ki keresztnév, vezetéknév, fizetés, jutalék_db
az EMPLOYEES-től
ahol Commission_pct like 'húsz\%' menekülni '\' ;

Az előző lekérdezés az EMPLOYEES táblából választja ki a keresztnév, vezetéknév, fizetés és jutalék_százalék oszlopokat. A WHERE záradék a LIKE operátort használja az ESCAPE záradékkal a rekordok lekéréséhez, ahol a Commission_pct oszlop tartalmazza a „20%” karakterláncot (literális % karakterrel, nem helyettesítő karakterrel).

Ebben az esetben a % karaktert fordított perjel (\) karakterrel lépjük ki a 20% karakterlánc keresésekor. Ez lehetővé teszi, hogy a LIKE operátor pontosan a „20%” karakterláncra keressen, ahelyett, hogy a % karaktert helyettesítő karakterként kezelné.

Ez a lekérdezés az EMPLOYEES tábla összes olyan sorát adja vissza, ahol a jutalék_pct oszlop pontosan a „20%” karakterláncot tartalmazza, valamint ezeknek a soroknak a keresztnév, vezetéknév és fizetés oszlopait.

Következtetés

Ebben a bejegyzésben megtanulta, hogyan kell használni a LIKE operátort az Oracle adatbázisokban meghatározott minták keresésére egy táblázatban. Számos példa található a helyettesítő karakterek és az ESCAPE záradék kiemelésére.