Oracle LIKER

Oracle Liker



I Oracle og andre relasjonsdatabaser er mønstertilpasning en populær funksjon som lar deg søke etter strengmønstre ved hjelp av spesielle syntakser. Du kan for eksempel søke etter en delstreng innenfor et stort sett med strenger ved å bruke mønstertilpassede operatorer og funksjoner.

Dette gjør det svært nyttig for å bygge enkle søkeklausuler uten å pådra seg betydelige ytelsesstraff på databasen.







I denne opplæringen vil du komme over LIKE-operatøren i Oracle for å utføre mønstersamsvarsspørringer.



Oracle LIKE-operatør

LIKE-operatoren i Oracle lar deg søke etter et spesifikt mønster i en gitt kolonne. Du kan for eksempel bruke den til å finne alle radene der en kundes fornavn begynner med mønsteret 'Ja'.



Du vil ofte finne denne operatoren brukt sammen med andre SQL-klausuler, for eksempel WHERE-klausulen, for å filtrere resultatene våre basert på et spesifikt mønster.





Vi kan uttrykke syntaksen til LIKE-operatoren i SQL som vist nedenfor:

uttrykk LIKE mønster [ FLUKT 'escape_character' ]



  1. Uttrykksparameteren spesifiserer kolonnen du vil søke i.
  2. Mønsterparameteren definerer det spesifikke mønsteret du vil søke etter. Det angitte mønsteret kan inneholde jokertegn som % og _ for å matche et hvilket som helst antall tegn eller et enkelt tegn.
  3. Vi kan også inkludere ESCAPE-klausulen for å spesifisere et escape-tegn som brukes til å søke etter de faktiske jokertegnene.

Eksempler på Oracle LIKE-operatører

Følgende eksempler viser hvordan du bruker LIKE-operatoren i en Oracle-tabell.

Anta at vi har en tabell som inneholder kundeinformasjon som vist nedenfor:

Eksempel 1 – Bruk av % jokertegn

Vi kan bruke jokertegnene % for å matche alle strenger med null eller flere tegn. For eksempel kan vi finne alle oppføringene i en tabell som inneholder navnet 'Will%'.

Ta de ansattes tabell vist nedenfor:

å velge fornavn, etternavn, lønn
fra ANSATTE
hvor FIRST_NAME liker 'Vil%'
rekkefølge etter fornavn;

Den forrige spørringen velger kolonnene fornavn, etternavn og lønn fra de ansattes tabell og sorterer de resulterende verdiene etter kolonnen fornavn.

Vi kombinerer også en where-klausul i forbindelse med en LIKE-operator med %-jokertegnene for kun å hente radene der fornavnet starter med 'Will'.

Dette skal returnere radene som:

Vi kan også bruke jokertegnet % for å hente radene som ender i et spesifikt mønster.

Et eksempel er vist nedenfor:

å velge fornavn, etternavn, lønn
fra ANSATTE
hvor FIRST_NAME liker '%er'
rekkefølge etter fornavn;

I dette tilfellet skal forrige spørring returnere alle radene der fornavnet slutter på 'er'. Et eksempel på resulterende verdi er vist nedenfor:

Oracle-databasens LIKE-operator skiller mellom store og små bokstaver som standard, så det er viktig å ha dette i bakhodet mens du søker etter spesifikke mønstre. Du kan bruke andre funksjoner, for eksempel nedre og øvre, for å oppheve denne virkemåten.

Eksempel 2 – Bruk av Escape-klausulen

Følgende eksempel viser hvordan du bruker ESCAPE-leddet i Oracle LIKE-operatoren:

å velge fornavn, etternavn, lønn, provisjonspkt
fra ANSATTE
hvor commission_pct liker 'tjue\%' flukt '\' ;

Den forrige spørringen velger kolonnene fornavn, etternavn, lønn og provisjonspct fra ANSATTE-tabellen. WHERE-leddet bruker LIKE-operatoren med ESCAPE-leddet for å hente postene der commission_pct-kolonnen inneholder strengen '20%' (med et bokstavelig %-tegn, ikke et jokertegn).

I dette tilfellet unnslipper vi %-tegnet med en omvendt skråstrek (\) når vi søker etter strengen 20%. Dette lar LIKE-operatøren søke etter den eksakte strengen '20%' i stedet for å behandle %-tegnet som et jokertegn.

Denne spørringen vil returnere alle rader fra ANSATTE-tabellen der commission_pct-kolonnen inneholder den eksakte strengen '20%', sammen med kolonnene fornavn, etternavn og lønn for disse radene.

Konklusjon

I dette innlegget lærte du hvordan du bruker LIKE-operatoren i Oracle-databaser for å søke etter spesifikke mønstre i en tabell. Flere eksempler er gitt for å fremheve ved hjelp av jokertegn og ESCAPE-klausulen.