Índice de um varchar MySql

14/06/2017

0

Preciso pegar o índice da primeira letra 'a' em um varchar com o MySql

Exemplo:

'Paraguay'

Ao fazer o select deve me retornar '1' pois é o índice da primeira letra 'a' da palavra 'Paraguay'
Evandro Silva

Evandro Silva

Responder

Post mais votado

16/06/2017

Bom dia Evandro.
Você tem razão.
Falha minha, o FIND_IN_SET só funciona se você tiver um "array" de strings.

O que você precisa é o comando LOCATE

SELECT LOCATE('a','Paraguay')


Dessa vez, devidamente testado...rs

Grande abraço

Luiz Santos

Luiz Santos
Responder

Mais Posts

14/06/2017

Luiz Santos

Evandro,

No MySQL você tem a função FIND_IN_SET.
Ela vai retornar o que você precisa.

Forma de usar:

SELECT FIND_IN_SET('a','Paraguay')



Grande abraço.
Responder

14/06/2017

Evandro Silva

Luiz Fernando obrigado pela dica, mas infelizmente quando executo este código
SELECT find_in_set('a', 'Paraguay');
o MySql me retorna o valor zero.
Responder

16/06/2017

Evandro Silva

Perfeito... O comando em si deu certo usando a palavra Paraguay, e achei que daria também em uma tabela que tenho, fiz SELECT LOCATE('a', nome) FROM arbitros, mas infelizmente retornou 0.
Responder

16/06/2017

Luiz Santos

Evandro.
Estranho.
Qual o tipo de dados do seu campo?
Testei com um campo VARCHAR e foi numa boa.

Grande abraço
Responder

16/06/2017

Evandro Silva

É um VARCHAR(35)
Responder

16/06/2017

Evandro Silva

Funcionou. É simplesmente porque os nomes estão todos maiusculos mas e eu estava tentando em minusculos, mas li em algum lugar que o MySql é case-insensitive. Enfim, deu certo. Muito obrigado por tudo.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar