Oracle LIKE

Oracle Like



Oracle ir kitose reliacinėse duomenų bazėse šablonų suderinimas yra populiari funkcija, leidžianti ieškoti eilučių šablonų naudojant specialias sintakses. Pavyzdžiui, galite ieškoti poeilutės dideliame eilučių rinkinyje naudodami šabloną atitinkančius operatorius ir funkcijas.

Tai labai naudinga kuriant paprastas paieškos sąlygas, nepatiriant didelių duomenų bazės našumo nuobaudų.







Šiame vadove susidursite su LIKE operatoriumi Oracle, kad atliktumėte šablono atitikimo užklausas.



„Oracle LIKE“ operatorius

„Oracle“ operatorius LIKE leidžia ieškoti konkretaus šablono tam tikrame stulpelyje. Pavyzdžiui, galite jį naudoti norėdami rasti visas eilutes, kuriose kliento vardas prasideda raštu „Ja“.



Šis operatorius dažnai naudojamas kartu su kitomis SQL sąlygomis, pvz., WHERE sąlyga, kad filtruotumėte rezultatus pagal konkretų šabloną.





Galime išreikšti LIKE operatoriaus sintaksę SQL, kaip parodyta toliau:

išraiška LIKE modelis [ PABEGTI „pabėgimo simbolis“ ]



  1. Išraiškos parametras nurodo stulpelį, kuriame norite ieškoti.
  2. Šablono parametras apibrėžia konkretų šabloną, kurio norite ieškoti. Nurodytame šablone gali būti pakaitos simbolių, pvz., % ir _, kad atitiktų bet kokį simbolių skaičių arba vieną simbolį.
  3. Taip pat galime įtraukti sąlygą ESCAPE, kad nurodytume pabėgimo simbolį, naudojamą ieškant tikrų pakaitos simbolių.

„Oracle LIKE“ operatoriaus pavyzdžiai

Toliau pateikti pavyzdžiai parodo, kaip Oracle lentelėje naudoti operatorių LIKE.

Tarkime, kad turime lentelę su klientų informacija, kaip parodyta žemiau:

1 pavyzdys – % pakaitos simbolių naudojimas

Galime naudoti % pakaitos simbolius, kad atitiktume bet kokias nulio ar daugiau simbolių eilutes. Pavyzdžiui, mes galime rasti visus įrašus lentelėje, kurioje yra pavadinimas „Will%“.

Paimkite toliau pateiktą darbuotojų lentelę:

pasirinkite vardas, pavardė, atlyginimas
iš EMPLOYEES
kur patinka FIRST_NAME 'Bus%'
tvarka pagal vardą_vardą;

Ankstesnė užklausa iš darbuotojų lentelės pasirenka stulpelius vardas_vardas, pavardė ir atlyginimas, o gautas reikšmes išdėsto pagal stulpelį vardas_vardas.

Taip pat sujungiame kur sąlygą kartu su LIKE operatoriumi su % pakaitos simboliais, kad gautume tik tas eilutes, kurių vardas prasideda „Will“.

Tai turėtų grąžinti eilutes taip:

Taip pat galime naudoti % pakaitos simbolį, kad gautume eilutes, kurios baigiasi konkrečiu šablonu.

Pavyzdys parodytas žemiau:

pasirinkite vardas, pavardė, atlyginimas
iš EMPLOYEES
kur patinka FIRST_NAME '%is'
tvarka pagal vardą_vardą;

Tokiu atveju ankstesnė užklausa turėtų pateikti visas eilutes, kuriose vardas baigiasi raide „er“. Gautos vertės pavyzdys parodytas žemiau:

Oracle duomenų bazės LIKE operatorius pagal numatytuosius nustatymus yra jautrus didžiosioms ir mažosioms raidėms, todėl būtina tai nepamiršti ieškant konkrečių šablonų. Norėdami paneigti šį elgesį, galite naudoti kitas funkcijas, pvz., apatinę ir viršutinę.

2 pavyzdys – pabėgimo sąlygos naudojimas

Šiame pavyzdyje parodyta, kaip naudoti ESCAPE sąlygą Oracle LIKE operatoriuje:

pasirinkite vardas_vardas, pavarde, atlyginimas, komisiniai_proc
iš EMPLOYEES
kur komisiniai_pct patinka 'dvidešimt\%' Pabegti '\' ;

Ankstesnė užklausa iš lentelės DARBUOTOJAI pasirenka stulpelius vardas_vardas, pavardė, atlyginimas ir komisiniai_pct. WHERE sąlyga naudoja operatorių LIKE su sąlyga ESCAPE, kad gautų įrašus, kuriuose Commission_pct stulpelyje yra eilutė „20%“ (su pažodiniu % simboliu, o ne pakaitos simboliu).

Šiuo atveju, kai ieškome eilutės 20%, % simbolio pašaliname pasviruoju brūkšniu (\). Tai leidžia operatoriui LIKE ieškoti tikslios eilutės „20%“, o ne laikyti % simbolį pakaitos simboliu.

Ši užklausa pateiktų visas lentelės DARBUOTOJAI eilutes, kuriose stulpelyje Commission_pct yra tiksli eilutė „20%“, kartu su tų eilučių vardo, pavardės ir atlyginimo stulpeliais.

Išvada

Šiame įraše sužinojote, kaip naudoti LIKE operatorių „Oracle“ duomenų bazėse ieškant konkrečių šablonų lentelėje. Pateikiami keli pavyzdžiai, skirti pabrėžti naudojant pakaitos simbolius ir sąlygą ESCAPE.