INSTR-funktionerna (INSTR, INSTRB, INSTRC, INSTR2 och INSTR4) söker efter en sträng i en sträng med hjälp av tecken och returnerar positionen i strängen som är det första tecknet i en angiven substratets förekomst. Funktionerna varierar beroende på hur de bestämmer positionen för understrängen som ska returneras.
-
INSTR beräknar längder med hjälp av tecken som definieras av ingångsteckenuppsättningen.
-
INSTRB beräknar längder med byte.
-
INSTRC beräknar längder med Unicode-kompletta tecken.
-
INSTR2 beräknar längder använder UCS2-kodpunkter.
-
INSTR4 beräknar längder med UCS4-kodpunkter.
Returvärde
En icke-noll INTEGER när sökningen lyckas eller 0
(noll) när den inte är det.
Syntax
{INSTR | INSTRB | INSTRC | INSTR2 | INSTR4} (sträng, understrängning))
Argument
sträng
Textuttrycket att söka.
understräng
Strängen du vill söka efter.
position
En icke-noll INTEGER som anger var i sträng funktionen börjar sökningen. INSTR beräknar position med hjälp av tecken som definieras av inmatade teckenuppsättningar. INSTRB beräknar position med hjälp av byte. INSTRC beräknar position med Unicode-kompletta tecken. INSTR2 beräknar position med UCS2-kodpunkter. INSTR4 beräknar position med UCS4-kodpunkter.
När positionen är negativ räknar INSTR och söker bakåt från slutet av strängen. Standardvärdet för position är 1
, vilket innebär att funktionen börjar söka i början av strängen.
förekomst
En INTEGER som anger vilken förekomst av sträng funktionen ska söka efter. Värdet av förekomsten måste vara positivt. Standardvärdena för förekomst är 1
, vilket innebär att funktionen söker efter den första förekomsten av substring.
Exempel
Exempel 7 -127 Använda teckenposition för att söka framåt för att hitta positionen för en understräng
Följande exempel söker i strängen ”Corporate Floor”, börjar med det tredje tecknet, efter strängen ”eller”. Den returnerar positionen i ”Corporate Floor” där den andra förekomsten av ”eller” börjar.
SHOW INSTR("Corporate Floor","or", 3, 2)14
Exempel 7-128 Använda teckenposition för att söka bakåt för att hitta positionen för en understräng
I det här nästa exemplet räknas funktionen bakåt från det sista tecknet till det tredje tecknet från slutet, vilket är den första ”o” i ” Golv”. Funktionen söker sedan bakåt efter den andra förekomsten av ”eller” och finner att den andra förekomsten börjar med det andra tecknet i söksträngen.
SHOW INSTR("Corporate Floor","or", -3, 2)2
Exempel 7-129 Använda en dubbelbyte-teckenuppsättning för att hitta positionen för en understräng
Det här exemplet förutsätter en databas-teckenuppsättning med dubbla byte.
SHOW INSTRB("Corporate Floor","or",5,2) 27