Oracle som

Oracle som

I Oracle og andre relasjonsdatabaser er mønstermatching en populær funksjon som lar deg søke etter strengmønstre ved hjelp av spesielle syntaks. For eksempel kan du søke etter en substring i et stort sett med strenger ved å bruke mønster-matchende operatører og funksjoner.

Dette gjør det veldig nyttig å bygge enkle søkeklausuler uten å pådra seg betydelige ytelsesstraffer i databasen.

I denne opplæringen vil du komme over lignende operatør i Oracle for å utføre mønster-matchende spørsmål.

Oracle som operatør

Lignende operatør i Oracle lar deg søke etter et spesifikt mønster i en gitt kolonne. For eksempel kan du bruke den til å finne alle radene der kundens fornavn starter med mønsteret 'JA'.

Du finner ofte denne operatøren som brukes i forbindelse med andre SQL -klausuler, for eksempel hvor leddet, for å filtrere resultatene våre basert på et spesifikt mønster.

Vi kan uttrykke syntaks for lignende operatør i SQL som vist nedenfor:

uttrykk som mønster [Escape 'Escape_character']
  1. Ekspresjonsparameteren spesifiserer kolonnen du vil søke.
  2. Mønsterparameteren definerer det spesifikke mønsteret du vil søke. Det spesifiserte mønsteret kan inneholde Wildcard -tegn som henholdsvis % og _ for å matche et hvilket som helst antall tegn eller et enkelt tegn.
  3. Vi kan også inkludere rømningsklausulen for å spesifisere et fluktkarakter som brukes til å søke etter de faktiske jokertegnene.

Oracle som operatøreksempler

Følgende eksempler viser hvordan du bruker lignende operatør i en orakelbord.

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

Eksempel 1 - Bruke % wildcard -tegn

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

Ta de ansattes bord vist nedenfor:

Velg First_name, Last_name, Lønn
fra ansatte
der første_navn som 'vil%'
bestill av første_navn;

Den forrige spørringen velger første_navn, siste_navn og lønnskolonner fra de ansattes tabell og bestiller de resulterende verdiene etter første_navn -kolonnen.

Vi kombinerer også en hvor klausul i forbindelse med en lignende operatør med % jokertegn for bare å hente radene der fornavnet starter med 'Will'.

Dette skal returnere radene som:

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

Et eksempel er vist nedenfor:

Velg First_name, Last_name, Lønn
fra ansatte
der første_navn som '%er'
bestill av første_navn;

I dette tilfellet bør den forrige spørringen returnere alle radene der fornavnet ender i 'er'. Et eksempel resulterende verdi vises nedenfor:

Oracle-databasen er som operatør som standard som standard, så det er viktig å huske på dette mens du søker etter spesifikke mønstre. Du kan bruke andre funksjoner, for eksempel nedre og øvre, for å negere denne oppførselen.

Eksempel 2 - Bruke fluktbestemmelsen

Følgende eksempel viser hvordan du bruker rømningsklausulen i Oracle som operatør:

Velg First_Name, Last_name, Palary, Commission_PCT
fra ansatte
der Commission_pct som '20 \%'Escape' \ ';

Den forrige spørringen velger første_navn, siste_navn, lønn og commission_pct kolonner fra de ansatte tabellen. WHERE -leddet bruker lignende operatør med rømningsklausulen for å hente postene der Commission_PCT -kolonnen inneholder strengen '20 % '(med bokstavelig % tegn, ikke et jokertegn).

I dette tilfellet slipper vi unna % karakteren med en Backslash (\) -tegn når vi søker etter strengen 20 %. Dette gjør at lignende operatør kan søke etter den nøyaktige strengen '20 % 'i stedet for å behandle % -karakteren som et jokertegn.

Denne spørringen vil returnere alle rader fra de ansatte -tabellen der Commission_PCT -kolonnen inneholder den nøyaktige strengen '20%', sammen med første_navn, siste_navn og lønnskolonner for disse radene.

Konklusjon

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