"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como encontrar a segunda ou terceira ocorrência de uma substring no MySQL?

Como encontrar a segunda ou terceira ocorrência de uma substring no MySQL?

Publicado em 19/11/2024
Navegar:807

How to Find the Second or Third Occurrence of a Substring in MySQL?

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.

Tutorial mais recente Mais>

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