Encontrando o segundo ou terceiro índice de uma substring no MySQL
Ao trabalhar com strings em um banco de dados, muitas vezes é necessário localizar a posição de uma substring específica. Nos casos em que uma consulta LIKE simples é insuficiente, você pode precisar de uma maneira de identificar com precisão o índice de uma ocorrência específica dessa substring.
Problema:
Você tem um espaço- string separada e precisa extrair uma seção específica da string com base em sua posição relativa. Por exemplo, dada a string "AAAA BBBB CCCC DDDD EEE", você deseja extrair a substring "CCCC."
Solução:
O MySQL fornece uma função poderosa chamada SUBSTRING_INDEX que permite você encontra a enésima ocorrência de uma substring dentro de uma string maior. Para encontrar o segundo (ou terceiro) espaço em uma string, você pode utilizar chamadas SUBSTRING_INDEX aninhadas.
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(field, ' ', 3), ' ', -1)
FROM table
Na consulta acima, a chamada interna SUBSTRING_INDEX extrai a substring até o terceiro espaço na coluna do campo, fornecendo "AAAA BBBB CCCC". A chamada externa SUBSTRING_INDEX isola a substring após o terceiro espaço, que neste caso é "CCCC".
Ao aninhar várias chamadas SUBSTRING_INDEX, você pode continuar a identificar ocorrências subsequentes do delimitador e extrair as substrings desejadas como necessário. Esta função versátil fornece uma maneira conveniente e eficiente de lidar com tarefas complexas de manipulação de strings no MySQL.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3