Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bidjan2

Erros de digitação

Recommended Posts

Boa noite.

 

Tenho uma consulta no meu sistema que procura os clientes pelo seu nome. Eu utilizo um simples LIKE '%nome%' para procurar.

 

Junto com esta funcionalidade, há um botão "Salvar cliente como novo" que é utilizado caso não encontre nenhum cliente com o nome informado.

 

Em alguns momentos, os usuários do sistema procuram por clientes com nome errado. Erro de digitação. Falta H em alguns nomes, schneider e outros sobrenomes diferentes, alguns sobrenomes são abreviados, entre outros.

 

Por exemplo:

Usuário X digita Artur Silva no campo de pesquisa, porém o nome do cliente é artHur silva (com H). Como o sistema não lista nenhuma informação, então o usuário pressiona em "Salvar cliente como novo". Isso gera informações duplicadas para o mesmo cliente.

 

Gostaria de saber se há algum LIKE dinâmico. Eu tentei usar o algoritimo levenshtein que ficou super lento... tentei usar match() against(), mas não funcionou para o caso do H.

 

Alguém tem alguma ideia legal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Motta. Obrigado pela pronta resposta.

 

Eu tentei usar o SONDEX agora. Para comparar o primeiro nome funciona bem, mas em nomes compostos é mais complicado. Estou tentando alguma expressão SQL mais complexa combinando o SOUNDEX.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente substr e soundex (1) separando o nome , o soundex tem a questão de ser feito para o inglês.

 

(1) tipo separar o nome

 

JOAO DA SILVA SOUZA

JOAO

SILVA

SOUZA

3 SOUNDEX

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.