Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Retorna a posição da primeira ocorrência de uma cadeia de caracteres em outra.
Sintaxe
InStr([start, ]searched_string, search_string[, compare])
Argumentos
start
(Opcional) Uma expressão numérica que define a posição inicial de cada pesquisa. Se esse valor for omitido, a pesquisa começará na primeira posição de caractere. Se o início for nulo, o valor de retorno da função será indefinido.
searched_string
A expressão da cadeia de caracteres a ser pesquisada.
search_string
A expressão da cadeia de caracteres na qual pesquisar.
Comparar
(opcional) Um valor inteiro. Esse argumento é sempre ignorado. Ele é definido para compatibilidade com outras funções Instr em outras linguagens.
Valor Retornado
Um valor inteiro com a posição inicial de String2 em String1.
Além disso, a função InStr retorna os valores listados na tabela a seguir, dependendo da condição:
Condição | Retornar valor |
---|---|
String1 tem comprimento zero | zero (0) |
String1 é nula | não definido |
String2 tem comprimento zero | iniciar |
String2 é nula | não definido |
String2 não foi localizada | zero (0) |
start é maior que Len (String2) | zero (0) |
Comentários
Aviso
Instr sempre executa uma comparação que não diferencia maiúsculas de minúsculas.
Exemplo
O exemplo a seguir mostra o uso da função Instr e mostra cenários de resultados diferentes.
with
member [Date].[Date].[Results] as "Results"
member measures.[lowercase found in lowercase string] as InStr( "abcdefghijklmnñopqrstuvwxyz", "o")
member measures.[uppercase found in lowercase string] as InStr( "abcdefghijklmnñopqrstuvwxyz", "O")
member measures.[searched string is empty] as InStr( "", "o")
member measures.[searched string is null] as iif(IsError(InStr( null, "o")), "Is Error", iif(IsNull(InStr( null, "o")), "Is Null","Is undefined"))
member measures.[search string is empty] as InStr( "abcdefghijklmnñopqrstuvwxyz", "")
member measures.[search string is empty start 10] as InStr(10, "abcdefghijklmnñopqrstuvwxyz", "")
member measures.[search string is null] as iif(IsError(InStr( null, "o")), "Is Error", iif(IsNull(InStr( null, "o")), "Is Null","Is undefined"))
member measures.[found from start 10] as InStr( 10, "abcdefghijklmnñopqrstuvwxyz", "o")
member measures.[NOT found from start 17] as InStr( 17, "abcdefghijklmnñopqrstuvwxyz", "o")
member measures.[NULL start] as iif(IsError(InStr( null, "abcdefghijklmnñopqrstuvwxyz", "o")), "Is Error", iif(IsNull(InStr( null, "abcdefghijklmnñopqrstuvwxyz", "o")), "Is Null","Is undefined"))
member measures.[start greater than searched length] as InStr( 170, "abcdefghijklmnñopqrstuvwxyz", "o")
select [Results] on columns,
{ measures.[lowercase found in lowercase string]
, measures.[uppercase found in lowercase string]
, measures.[searched string is empty]
, measures.[searched string is null]
, measures.[search string is empty]
, measures.[search string is empty start 10]
, measures.[search string is null]
, measures.[found from start 10]
, measures.[NOT found from start 17]
, measures.[NULL start]
, measures.[start greater than searched length]
} on rows
from [Adventure Works]
A tabela a seguir mostra os resultados obtidos.
Campo em medidas | Resultados |
---|---|
minúsculas encontradas em cadeia de caracteres em minúsculas. | 16 |
maiúsculas encontradas em cadeia de caracteres em minúsculas. | 16 |
a cadeia de caracteres pesquisada está vazia | 0 |
a cadeia de caracteres pesquisada é nula | É indefinido |
a cadeia de caracteres de pesquisa está vazia | 1 |
a cadeia de caracteres de pesquisa está vazia a partir do 10 | 10 |
a cadeia de caracteres de pesquisa é nula | É indefinido |
encontrado a partir do 10 | 16 |
NÃO encontrado a partir do 17 | 0 |
Início NULO | É indefinido |
início maior que inicie maior que o comprimento da pesquisa | 0 |