resumo: este tutorial mostra-lhe como usar a função INSTR MySQL para devolver a posição da primeira ocorrência de um texto.
Introdução à função MySQL INSTR
às vezes, você quer localizar um sub-texto em uma string ou para verificar se um sub-texto existe em uma string. Neste caso, você pode usar uma função de string embutida chamada INSTR
.
a função INSTR
devolve a posição da primeira ocorrência de um sub-texto., Se a substring não for encontrada no str, a função INSTR
devolve zero (0).
o seguinte ilustra a sintaxe da função INSTR
.
Code language: SQL (Structured Query Language) (sql)
Experimentá-Lo
INSTR
função aceita dois argumentos:
str
é a seqüência de caracteres que você deseja pesquisar.- o
substr
é a substring que você deseja procurar.
a funçãoINSTR
não é sensível à capitalização., Isso significa que não importa se você passar a minúscula, maiúscula, caso de título, etc., os resultados são sempre os mesmos.
Se quiser que a função
realize pesquisas de forma sensível aos casos numa cadeia não-binária, você usa o BINARY
operador para lançar um argumento da função
de uma cadeia não-binária para uma cadeia binária.
os exemplos da função MySQL INSTR
a seguinte declaração devolve a posição do MySQL sub-texto no id
string.,
Code language: SQL (Structured Query Language) (sql)
Experimentá-Lo
a instrução A seguir retorna o mesmo resultado, pois o INSTR
função é case-insensitive.,
Code language: SQL (Structured Query Language) (sql)
Experimentá-Lo
Para forçar INSTR
função de pesquisa com base no caso-sensitivo, você pode usar o BINARY
operador da seguinte forma:
Code language: SQL (Structured Query Language) (sql)
Experimentá-Lo
O resultado é diferente, porque o mysql vs. MySQL agora com o BINARY
operador.
a função INSTR vs. operador similar
usaremos a tabelaproducts
na base de dados de amostras.,
Suponha que você queira encontrar o produto cujo nome contém o car
palavra-chave, você pode usar o INSTR
funciona da seguinte maneira:
Code language: SQL (Structured Query Language) (sql)
Experimentá-Lo
Além de INSTR
função, você pode usar o LIKE
operador para coincidir com o Car
padrão.,
Code language: SQL (Structured Query Language) (sql)
Experimente
ambas as consultas retornam o mesmo resultado. Então, qual é mais rápido, o INSTR
ou oLIKE
operador?
A resposta é que eles são os mesmos. Ambos são sensíveis a maiúsculas e realizam varreduras completas.
let’s create an index on the productname
column.,
Code language: SQL (Structured Query Language) (sql)
Experimentá-Lo
Se você usar o LIKE
operador com o prefixo de pesquisa, nesta coluna indexada, o LIKE
operador executará mais rápido do que o INSTR
função.
ver a seguinte declaração.,
Code language: SQL (Structured Query Language) (sql)
Try It Out
You can check it using the EXPLAIN
statement:
Code language: SQL (Structured Query Language) (sql)
Try It Out
And compare with the following statement that uses the INSTR
function.,
Experimentá-Lo
INSTR
função executa uma verificação de tabela, mesmo que o productname
coluna tem um índice. Isto porque MySQL não pode fazer qualquer suposição sobre a semântica do id
função, em que MySQL pode utilizar a sua compreensão da semântica do ID
operador.
A maneira mais rápida de testar se uma substring existe em uma string é usar um índice de texto completo., No entanto, é necessário configurar e manter o índice corretamente.
neste tutorial, você aprendeu a usar a função INSTR
para encontrar a posição da primeira ocorrência de uma substring em uma string.
- este tutorial foi útil?
- YesNo
Leave a Reply