Funkce INSTR (INSTR, INSTRB, INSTRC, INSTR2 a INSTR4) prohledají řetězec podřetězce pomocí znaků a vrátí pozici v řetězci, který je prvním znakem zadaného výskyt podřetězce. Funkce se liší v tom, jak určují polohu podřetězce, který se má vrátit.
-
INSTR počítá délky pomocí znaků definovaných vstupní znakovou sadou.
-
INSTRB počítá délky pomocí bajtů.
-
INSTRC počítá délky pomocí úplných znaků Unicode.
-
INSTR2 počítá délky pomocí kódových bodů UCS2.
-
INSTR4 počítá délky pomocí kódových bodů UCS4.
Návratová hodnota
Nenulový INTEGER, pokud je vyhledávání úspěšné, nebo 0
(nula), pokud není.
Syntax
{INSTR | INSTRB | INSTRC | INSTR2 | INSTR4} (řetězec, podřetězec))
Argumenty
řetězec
Textový výraz, který se má vyhledat.
substring
Řetězec, který se má vyhledat.
pozice
Nenulový INTEGER označující, kde v řetězci začne funkce vyhledávání. INSTR vypočítá pozici pomocí znaků definovaných vstupní znakovou sadou. INSTRB vypočítá pozici pomocí bajtů. INSTRC vypočítá pozici pomocí úplných znaků Unicode. INSTR2 vypočítá polohu pomocí kódových bodů UCS2. INSTR4 vypočítá pozici pomocí bodů kódu UCS4.
Když je pozice záporná, pak INSTR počítá a hledá zpět od konce řetězce. Výchozí hodnota pozice je 1
, což znamená, že funkce začne hledat na začátku řetězce.
výskyt
INTEGER označující, který výskyt řetězce má funkce hledat. Hodnota výskytu musí být kladná. Výchozí hodnoty výskytu jsou 1
, což znamená, že funkce vyhledá první výskyt podřetězce.
Příklady
Příklad 7 -127 Použití pozice znaků k dalšímu vyhledávání k nalezení pozice podřetězce
Následující příklad hledá řetězec „Corporate Floor“ začínající třetím znakem na řetězec „nebo“. Vrátí pozici v „Corporate Floor“, na které začíná druhý výskyt „nebo“.
SHOW INSTR("Corporate Floor","or", 3, 2)14
Příklad 7-128 Použití pozice znaků k vyhledání zpět k nalezení polohy podřetězce
V tomto dalším příkladu funkce počítá zpět od posledního znaku ke třetímu znaku od konce, což je první písmeno „o“ v Podlaha“. Funkce poté prohledá zpět druhý výskyt „nebo“ a zjistí, že tento druhý výskyt začíná druhým znakem ve vyhledávacím řetězci.
SHOW INSTR("Corporate Floor","or", -3, 2)2
Příklad 7-129 Použití dvoubajtové znakové sady k nalezení polohy podřetězce
Tento příklad předpokládá dvoubajtovou znakovou sadu databáze.
SHOW INSTRB("Corporate Floor","or",5,2) 27