Obrigado João, vou pegar então a sua versão atualizada, em cima dela estou pensando em criar uma função decideprimeironomeoutudo() que poderia procurar por espaços em branco no nome a ser pesquisado, se encontrar, então joga na fc_fonetica(), senão, joga na fc_foneticaprimeironome();
Acho que vai dar certo.

Coutinho, o problema ocorre quando o usúario digita somente o primeiro nome da pessoa, se eu usar somente fc_fonetica('josé') não retornará resultados que contenham qualquer coisa além de josé, por exemplo: josé silva, josé carlos etc.
E se eu uso o fc_foneticaprimeironome('josé pinho') por exemplo, ele retorna josé pinho, josé silva e josé carlos também, algo desnecessário já que o usuário sabe o nome e um sobrenome da pessoa pesquisada.


Também vou acrescentar mais algumas possibilidades que não encontrei na fc_fonetica e mando na lista pra todo mundo ( por exemplo ss e x, "alessandra/alexandra" )

On 10/31/06, Nabucodonosor Coutinho <[EMAIL PROTECTED]> wrote:
tah na lista sim

outra coisa jorge, vc nao precisa usara funcao primeiro nome
voce pode fazer sua busa normalmente como fazia antes, apenas usando a
funcao fc_fonetica para formatar os dados a serem comparados

ex:

select * from clientes
where fc_fonetica(nome) = fc_fonetica('josé')
and fc_fonetica(sobrenome) = fc_fonetica('gavião')

Em 31/10/06, joao cosme de oliveira junior< [EMAIL PROTECTED]> escreveu:
> strpos(string,string)
>
> caro jorge,
> nao sei se vc viu mas fiz uma pequena modificacao na na funcao dele!
> pq se vc rodar ela em um registro q for null da pau!
> acho q ta ai na lista eu postei
>
>
>
>
> Em Terça 31 Outubro 2006 18:00, Jorge Vilela escreveu:
> > Ola pessoal, em cima da função de fonética que o Fabrizio enviou, estou
> > fazendo uma busca por pessoa.
> > O problema é que se eu uso fc_foneticaprimeironome() ela faz a busca
> > somente em cima do primeiro nome, e se o usuário digitar nome e sobrenome,
> > mesmo assim aparecem todos os registros que o nome seja igual ou parecido
> > com o pesquisado.
> > O que pensei em fazer é:
> > Criar uma condição no banco para que ele busque pelo primeiro nome somente
> > se o nome pesquisado não contiver espaços.
> >
> > Sendo assim preciso saber se em plpgsql existe algum método que diga se
> > existe um determinado caracter em uma série de caracteres.
> >
> >
> >
> > Obrigado.
> > Jorge Vilela
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>


--
Nabucodonosor Coutinho
Database Administrator
Accu Hosting - www.accuhosting.com
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a