Ir para conteúdo

Arquivado

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

Claudiomar

Busca com caracteres especiais

Recommended Posts

Ola pessoal,

 

Seguinte, gostaria de saber como faço para o Postgresql fazer uma consulta da seguinte maneira:

O usuário entra com uma palavra, exemplos:

[*]maca -> gostaria que retornasse tanto maçã, maca.

[*]pia -> poderia voltar piá, pia

[*]ola -> retorna ola, olá, mas não olé.

Pensei em colocar algo como LIKE "ol_" (exemplo 3), entretanto voltar tanto ola, olá, olé, ole, gostaria apenas dos dois primeiros.

OBS.: se ajudar, estou trabalhando com PG + PHP.

 

 

Desde já

 

Muito Obrigado.

 

Claudiomar Desanti.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal,

 

Seguinte, gostaria de saber como faço para o Postgresql fazer uma consulta da seguinte maneira:

O usuário entra com uma palavra, exemplos:

[*]maca -> gostaria que retornasse tanto maçã, maca.

[*]pia -> poderia voltar piá, pia

[*]ola -> retorna ola, olá, mas não olé.

Pensei em colocar algo como LIKE "ol_" (exemplo 3), entretanto voltar tanto ola, olá, olé, ole, gostaria apenas dos dois primeiros.

OBS.: se ajudar, estou trabalhando com PG + PHP.

 

 

Desde já

 

Muito Obrigado.

 

Claudiomar Desanti.

Olá Cláudio, você pode fazer da seguinte maneira:

 

select * from TABELA where lower(to_ascii(CAMPO)) like lower(to_ascii('%VALOR_A_PESQUISAR%'))

 

 

Espero ter ajudado

 

Diego

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego,Funcionou certinho, entretando essa função ainda tem algumas restrições, ela só funcionará com as codificações LATIN1, LATIN2, LATIN3 e WIN1250. E a por padrão o Postgres coloca SQL_ASCII e a função vai retornar um erro.Obrigado pela ajuda. :D

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.