Oracle LIKE

Oracle Like



Oracle un citās relāciju datu bāzēs modeļu saskaņošana ir populāra funkcija, kas ļauj meklēt virkņu modeļus, izmantojot īpašas sintakses. Piemēram, varat meklēt apakšvirkni lielā virkņu komplektā, izmantojot parauga atbilstības operatorus un funkcijas.

Tas padara to ļoti noderīgu, lai izveidotu vienkāršas meklēšanas klauzulas, neradot ievērojamus datubāzes darbības sodus.







Šajā apmācībā jūs saskarsities ar LIKE operatoru Oracle, lai veiktu modeļu atbilstības vaicājumus.



Oracle LIKE operators

Oracle operators LIKE ļauj meklēt noteiktu modeli noteiktā kolonnā. Piemēram, varat to izmantot, lai atrastu visas rindas, kurās klienta vārds sākas ar rakstu “Ja”.



Šo operatoru bieži izmantos kopā ar citām SQL klauzulām, piemēram, WHERE klauzulu, lai filtrētu mūsu rezultātus, pamatojoties uz noteiktu modeli.





Mēs varam izteikt LIKE operatora sintaksi SQL, kā parādīts zemāk:

izteiksme LIKE raksts [ BĒGŠANA 'escape_character' ]



  1. Izteiksmes parametrs norāda kolonnu, kurā vēlaties meklēt.
  2. Raksta parametrs nosaka konkrēto modeli, kurā vēlaties meklēt. Norādītais raksts var saturēt aizstājējzīmes, piemēram, % un _, lai atbilstu jebkuram rakstzīmju skaitam vai vienai rakstzīmei.
  3. Mēs varam iekļaut arī ESCAPE klauzulu, lai norādītu atsoļa rakstzīmi, ko izmanto, lai meklētu faktiskās aizstājējzīmes.

Oracle LIKE operatoru piemēri

Šie piemēri parāda, kā Oracle tabulā izmantot operatoru LIKE.

Pieņemsim, ka mums ir tabula ar klientu informāciju, kā parādīts tālāk:

1. piemērs — aizstājējzīmju % izmantošana

Mēs varam izmantot % aizstājējzīmes, lai atbilstu visām nulles vai vairāk rakstzīmju virknēm. Piemēram, mēs varam atrast visus ierakstus tabulā, kurā ir nosaukums “Will%”.

Paņemiet tālāk redzamo darbinieku tabulu:

izvēlieties vārds, uzvārds, alga
no EMPLOYEES
kur FIRST_NAME patīk 'Will%'
sakārtot pēc vārda_vārda;

Iepriekšējais vaicājums darbinieku tabulā atlasa slejas first_name, last_name un algu un sakārto iegūtās vērtības pēc kolonnas first_name.

Mēs arī apvienojam kur klauzulu kopā ar operatoru LIKE ar % aizstājējzīmēm, lai iegūtu tikai tās rindas, kurās vārds sākas ar “Will”.

Tam jāatgriež rindas šādi:

Mēs varam arī izmantot % aizstājējzīmi, lai iegūtu rindas, kas beidzas ar noteiktu rakstu.

Piemērs ir parādīts zemāk:

izvēlieties vārds, uzvārds, alga
no EMPLOYEES
kur FIRST_NAME patīk '% ir'
sakārtot pēc vārda_vārda;

Šajā gadījumā iepriekšējā vaicājumā ir jāatgriež visas rindas, kurās vārds beidzas ar “er”. Tālāk ir parādīts iegūtās vērtības piemērs:

Oracle datu bāzes operators LIKE pēc noklusējuma ir reģistrjutīgs, tāpēc ir svarīgi to paturēt prātā, meklējot konkrētus modeļus. Varat izmantot citas funkcijas, piemēram, apakšējo un augšējo, lai noliegtu šo darbību.

2. piemērs — atkāpšanās klauzulas izmantošana

Šis piemērs parāda, kā Oracle LIKE operatorā izmantot klauzulu ESCAPE:

izvēlieties vārds_vārds, uzvārds, alga, komisijas_procenti
no EMPLOYEES
kur komisijas_pc like 'divdesmit\%' bēgt '\' ;

Iepriekšējā vaicājumā tabulā DARBINIEKI tiek atlasītas kolonnas vārds_vārds, uzvārds, alga un komisijas_procenti. Klauzulā WHERE tiek izmantots operators LIKE ar klauzulu ESCAPE, lai izgūtu ierakstus, kuros Commission_pct kolonna satur virkni “20%” (ar burtisku % rakstzīmi, nevis aizstājējzīmi).

Šajā gadījumā, meklējot virkni 20%, no rakstzīmes % tiek izmantota atpakaļvērstā slīpsvītra (\). Tas ļauj operatoram LIKE meklēt precīzu virkni “20%”, nevis izmantot % rakstzīmi kā aizstājējzīmi.

Šis vaicājums atgriezīs visas rindas no tabulas DARBINIEKI, kur kolonnā Commission_pct ir precīza virkne “20%”, kā arī šo rindu slejas first_name, last_name un algas.

Secinājums

Šajā ziņojumā jūs uzzinājāt, kā Oracle datu bāzēs izmantot operatoru LIKE, lai tabulā meklētu konkrētus modeļus. Ir sniegti vairāki piemēri, lai izceltu, izmantojot aizstājējzīmes un ESCAPE klauzulu.