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