INSTR-funksjonene (INSTR, INSTRB, INSTRC, INSTR2 og INSTR4) søker i en streng etter en understreng ved hjelp av tegn og returnerer posisjonen i strengen som er det første tegnet i en spesifisert forekomst av underlaget. Funksjonene varierer i hvordan de bestemmer plasseringen til understrengen som skal returneres.
-
INSTR beregner lengder ved hjelp av tegn som definert av inndatasett.
-
INSTRB beregner lengder ved hjelp av byte.
-
INSTRC beregner lengder ved hjelp av Unicode-komplette tegn.
-
INSTR2 beregner lengder bruker UCS2-kodepunkter.
-
INSTR4 beregner lengder ved hjelp av UCS4-kodepunkter.
Returverdi
Et INTEGER som ikke er null når søket er vellykket eller 0
(null) når det ikke er det.
Syntaks
{INSTR | INSTRB | INSTRC | INSTR2 | INSTR4} (streng, delstreng])
Argumenter
streng
Tekstuttrykket som skal søkes.
understreng
Strengen du skal søke etter.
posisjon
En ikke-null INTEGER som indikerer hvor i streng funksjonen begynner søket. INSTR beregner posisjon ved hjelp av tegn som definert av inndatasettet. INSTRB beregner posisjon ved hjelp av byte. INSTRC beregner posisjon ved hjelp av Unicode-komplette tegn. INSTR2 beregner posisjon ved hjelp av UCS2-kodepunkter. INSTR4 beregner posisjon ved hjelp av UCS4-kodepunkter.
Når posisjonen er negativ, teller INSTR og søker bakover fra slutten av strengen. Standardverdien for posisjon er 1
, noe som betyr at funksjonen begynner å søke i begynnelsen av en streng.
forekomst
En INTEGER som indikerer hvilken forekomst av streng funksjonen skal søk etter. Verdien av forekomsten må være positiv. Standardverdiene for forekomst er 1
, noe som betyr at funksjonen søker etter den første forekomsten av understreng.
Eksempler
Eksempel 7 -127 Bruke tegnposisjon for å søke fremover for å finne posisjonen til en understreng
Følgende eksempel søker i strengen «Corporate Floor», begynnende med det tredje tegnet, etter strengen «eller». Den returnerer posisjonen i «Corporate Floor» der den andre forekomsten av «eller» begynner.
SHOW INSTR("Corporate Floor","or", 3, 2)14
Eksempel 7-128 Bruke tegnposisjon for å søke bakover for å finne posisjonen til en understreng
I dette neste eksemplet teller funksjonen bakover fra siste tegn til tredje tegn fra slutten, som er den første «o» i » Gulv». Funksjonen søker deretter bakover etter den andre forekomsten av «eller», og finner at denne andre forekomsten begynner med det andre tegnet i søkestrengen.
SHOW INSTR("Corporate Floor","or", -3, 2)2
Eksempel 7-129 Bruke et dobbeltbyte-tegnsett for å finne posisjonen til en understreng
Dette eksemplet forutsetter et tegnsett med dobbeltbyte-database.
SHOW INSTRB("Corporate Floor","or",5,2) 27