Oracle Instr -funksjon

Oracle Instr -funksjon
Når du jobber med databaser, møter du ofte noen tilfeller der du må lagre en sekvens av tegn i en gitt tabell. Strengdatatyper brukes til å håndtere slike data, slik at du kan lagre en tekstlig informasjon som navn, adresser, beskrivelser, blogger osv.

Selv om forskjellige databasemotorer håndterer strenger annerledes, fungerer de alle ved å definere et spesifikt tegnsett som bestemmer karakterkodingen. Hvert tegnsett og koding dikterer hvordan en gitt streng lagres og kan begrense operasjonene som utføres på strengen.

Strengmanipulering refererer til de forskjellige handlingene og metodene du kan bruke på en gitt streng. For eksempel kan du trimme en streng til en gitt posisjon, fjerne etterfølgende eller lede hvitespace -tegn fra en inngangsverdi, og mer.

I denne opplæringen vil vi lære om en av strengmanipulasjonsfunksjonene i Oracle. Instr () -funksjonen lar deg søke etter en substring i en inngangsstreng og returnere plasseringen av substring.

Funksjonssyntaks

Følgende viser syntaks for instr () -funksjonen i Oracle -databaser:

Instr (streng, substring [, start [, forekomst]]);

Funksjonen godtar følgende argumenter:

  • Streng - Dette argumentet betegner hovedstrengen som du ønsker å søke.
  • SUBSTRING - Dette definerer substringen du vil søke i hovedstrengen.
  • start_position - Start_position -parameteren lar deg spesifisere posisjonen som funksjonen begynner å søke etter det spesifiserte substring. Dette er et valgfritt argument; Hvis ikke settes, begynner funksjonen søket i begynnelsen av strengen.
  • Forekomst - Dette er også en valgfri parameter som bestemmer forekomsten av substringen i strengen du ønsker å finne. For eksempel for å finne den første forekomsten, sett argumentet til 1 til 1.

Funksjonen returnerer et positivt heltall som bestemmer plasseringen av substringen i strengen. Funksjonen returnerer også et heltall 0 hvis substringen ikke er funnet.

Eksempler

Følgende eksempler demonstrerer på hvordan du bruker Instr () -funksjonen i Oracle -databaser.

Eksempel 1:
Tenk på dette eksemplet som demonstrerer hvordan du bruker Instr () -funksjonen for å finne den første forekomsten av substringen i en gitt streng.

PLUKKE UT
Instr ('Velkommen til Oracle -databaser!!',' Oracle ') som pos
Fra dobbelt;

I dette tilfellet returnerer den oppgitte spørringen "Oracle" Substring -startposisjonen fra "Welcome to Oracle Databases!!”Streng.

Pos
-----------
12

Eksempel 2:
Det er godt å huske på at Instr () -funksjonen er case-følsom. Et eksempel på demonstrasjon er gitt i følgende:

PLUKKE UT
Instr ('Velkommen til Oracle -databaser!!',' Oracle ') som pos
Fra dobbelt;

I dette eksemplet søker vi etter "Oracle" -substringen med små “O” i hovedstrengen. Siden det ikke er noen samsvarende forekomst i hovedstrengen, returnerer funksjonen 0 som vist på følgende:

Pos
--------
0

Eksempel 3:
Vi kan også søke etter den andre substringforekomsten ved å stille opp forekomstparameteren som demonstrert i dette eksemplet:

PLUKKE UT
Instr ('den raske pannen Fox hoppet over den late oksen', 'Ox', 2) som POS
Fra dobbelt;

I dette tilfellet ber vi funksjonen om å returnere plasseringen av den andre forekomsten for OX Substring.

Dette hopper over den første forekomsten som er lokalisert i "Fox" -substringen og returnerer plasseringen av den andre forekomsten i "Ox" -substringen.

Pos
----------
17

Eksempel 4:

Vi kan også utføre et omvendt søk ved å spesifisere forekomsten som et negativt heltall. Et eksempel på demonstrasjon er som følger:

PLUKKE UT
Instr ('den raske pannen fox hoppet over den late oksen', 'okse', -1) som pos
Fra dobbelt;

Produksjon:

Pos
-------
41

Konklusjon

I dette innlegget dekket vi grunnleggende om å jobbe med Oracle Instr () -funksjonen for å lokalisere plasseringen av en substring i en gitt streng. Selv om funksjonen fungerer bra i spesifikke scenarier, er det noen få begrensninger å huske på:

  1. Funksjonen er case-sensitiv. Dette betyr at du må sørge for at substringen og hovedstrengen samsvarer med foringsrøret for substring.
  2. Funksjonen støtter ikke vanlig uttrykksmatching.
  3. Funksjonen er bare begrenset til strengtyper; Det kan hende du må jobbe med andre funksjoner for andre større tekstblokker.

Når det er sagt, tilbyr funksjonen en minimal og effektiv måte å søke etter plasseringen av en substring i en inngangsstreng.