As funções INSTR (INSTR, INSTRB, INSTRC, INSTR2 e INSTR4) procuram uma string para uma substring usando caracteres e retorna a posição na string que é o primeiro caractere de um determinado ocorrência da substring. As funções variam em como determinam a posição da substring a ser retornada.
-
INSTR calcula comprimentos usando caracteres conforme definido pelo conjunto de caracteres de entrada.
-
INSTRB calcula comprimentos usando bytes.
-
INSTRC calcula comprimentos usando caracteres completos Unicode.
-
INSTR2 calcula comprimentos usando pontos de código UCS2.
-
INSTR4 calcula comprimentos usando pontos de código UCS4.
Valor de retorno
Um INTEGER diferente de zero quando a pesquisa é bem-sucedida ou 0
(zero) quando não é.
Sintaxe
{INSTR | INSTRB | INSTRC | INSTR2 | INSTR4} (string, substring])
Argumentos
string
A expressão de texto a ser pesquisada.
substring
A string a ser pesquisada.
posição
Um INTEGER diferente de zero indicando onde na string a função começa a pesquisa. INSTR calcula a posição usando os caracteres definidos pelo conjunto de caracteres de entrada. INSTRB calcula a posição usando bytes. INSTRC calcula a posição usando caracteres completos Unicode. INSTR2 calcula a posição usando pontos de código UCS2. INSTR4 calcula a posição usando pontos de código UCS4.
Quando a posição é negativa, então INSTR conta e pesquisa para trás a partir do final da string. O valor padrão da posição é 1
, o que significa que a função começa a pesquisar no início da string.
ocorrência
Um INTEGER que indica qual ocorrência da string a função deve procurar. O valor da ocorrência deve ser positivo. Os valores padrão de ocorrência são 1
, o que significa que a função procura a primeira ocorrência de substring.
Exemplos
Exemplo 7 -127 Usando a posição do caractere para pesquisar adiante para encontrar a posição de um substring
O exemplo a seguir pesquisa a string “Piso corporativo”, começando com o terceiro caractere, pela string “ou”. Ele retorna a posição em “Piso corporativo” em que a segunda ocorrência de “ou” começa.
SHOW INSTR("Corporate Floor","or", 3, 2)14
Exemplo 7-128 Usando a posição do caractere para pesquisar para trás e encontrar a posição de um substring
Neste próximo exemplo, a função conta regressivamente do último caractere até o terceiro caractere do final, que é o primeiro “o” em ” Piso”. A função então pesquisa para trás pela segunda ocorrência de “ou” e descobre que essa segunda ocorrência começa com o segundo caractere na string de pesquisa.
SHOW INSTR("Corporate Floor","or", -3, 2)2
Exemplo 7-129 Usando um conjunto de caracteres de byte duplo para encontrar a posição de uma substring
Este exemplo assume um conjunto de caracteres de banco de dados de byte duplo.
SHOW INSTRB("Corporate Floor","or",5,2) 27