Índice de um varchar MySql

MySQL

14/06/2017

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

Curtidas 0

Melhor post

Luiz Santos

Luiz Santos

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
GOSTEI 1

Mais Respostas

Luiz Santos

Luiz Santos

14/06/2017

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.
GOSTEI 0
Evandro Silva

Evandro Silva

14/06/2017

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.
GOSTEI 0
Evandro Silva

Evandro Silva

14/06/2017

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.
GOSTEI 0
Luiz Santos

Luiz Santos

14/06/2017

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

Grande abraço
GOSTEI 0
Evandro Silva

Evandro Silva

14/06/2017

É um VARCHAR(35)
GOSTEI 0
Evandro Silva

Evandro Silva

14/06/2017

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.
GOSTEI 0
POSTAR