De INSTR-functies (INSTR, INSTRB, INSTRC, INSTR2 en INSTR4) zoeken in een string naar een substring met behulp van tekens en retourneren de positie in de string die het eerste karakter is van een opgegeven voorkomen van de deelstring. De functies variëren in hoe ze de positie bepalen van de subtekenreeks die moet worden geretourneerd.
-
INSTR berekent lengtes met behulp van tekens zoals gedefinieerd door de invoertekenset.
-
INSTRB berekent lengtes met behulp van bytes.
-
INSTRC berekent lengtes met gebruikmaking van volledige Unicode-tekens.
-
INSTR2 berekent lengtes met UCS2-codepunten.
-
INSTR4 berekent lengtes met behulp van UCS4-codepunten.
Retourwaarde
Een niet-nul INTEGER als de zoekopdracht succesvol is of 0
(nul) als dit niet het geval is.
Syntaxis
{INSTR | INSTRB | INSTRC | INSTR2 | INSTR4} (string, substring])
Argumenten
string
De tekstexpressie om te zoeken.
substring
De string waarnaar moet worden gezocht.
position
Een niet-nul INTEGER die aangeeft waar in de string de functie begint met zoeken. INSTR berekent de positie met behulp van tekens zoals gedefinieerd door de invoertekenset. INSTRB berekent de positie met behulp van bytes. INSTRC berekent de positie met behulp van complete Unicode-tekens. INSTR2 berekent de positie met behulp van UCS2-codepunten. INSTR4 berekent de positie met behulp van UCS4-codepunten.
Als de positie negatief is, telt INSTR en zoekt het achterwaarts vanaf het einde van de string. De standaardwaarde van position is 1
, wat betekent dat de functie begint te zoeken aan het begin van de string.
occurrence
Een INTEGER die aangeeft welke string de functie zou moeten voorkomen zoeken naar. De waarde van voorkomen moet positief zijn. De standaardwaarden van occurrence zijn 1
, wat betekent dat de functie naar de eerste instantie van een substring zoekt.
Voorbeelden
Voorbeeld 7 -127 Tekenpositie gebruiken om vooruit te zoeken om de positie van een substring te vinden
In het volgende voorbeeld wordt in de tekenreeks “Corporate Floor”, beginnend met het derde teken, naar de tekenreeks “of” gezocht. Het geeft de positie in “Corporate Floor” terug waarop het tweede exemplaar van “of” begint.
SHOW INSTR("Corporate Floor","or", 3, 2)14
Voorbeeld 7-128 Tekenpositie gebruiken om achteruit te zoeken om de positie van een substring te vinden
In dit volgende voorbeeld telt de functie terug vanaf het laatste teken naar het derde teken vanaf het einde, wat de eerste “o” is in ” Verdieping”. De functie zoekt vervolgens achteruit naar de tweede instantie van “of”, en vindt dat deze tweede instantie begint met het tweede teken in de zoekreeks.
SHOW INSTR("Corporate Floor","or", -3, 2)2
Voorbeeld 7-129 Een dubbelbyte-tekenset gebruiken om de positie van een substring te vinden
In dit voorbeeld wordt uitgegaan van een dubbelbyte-databasetekenset.
SHOW INSTRB("Corporate Floor","or",5,2) 27