[Resolvido]Pesquisa em um Banco de Dados usando somente parte do nome do dado na tabela

10 respostas
R

[EDITADO]Eu queria saber se consigo fazer uma pesquisa no bd usando soh parte do nome da pesquisa;
Explicando melhor:
Por exemplo: se eu tenho no bd uma lista com nomes, mas soh quero os que tiverem “João” no nome.
tem como fazer isso?

Um exemplo melhor:
Digamos que eu tenho uma tabela “Clientes” onde vou armazenar os dados do msm. Digamos tbm que eu precisasse pesquisar todos os meus cliente. Bem…nesse caso eu usaria SELECT * FROM cliente WHERE cli_nome ="parametro da pesquisa"
Ok…mas nesse caso essa pesquisa iria retornar todos os dados que fossem igual ao parametro da pesquisa.

Bem…se eu quiser pesquisar por “A”, por exemplo, e vim todos os dados que comecem com “A” na tabela…teria como fazer isso?
E se sim, como?

Grato a quem ajudar!

10 Respostas

D

Sim.
Aliás, corrija o título do tópico, como você mesmo disse, está óbvio demais.
Corrija também tua pergunta, pois, se você só quer saber como é possível, está respondido.
E, com uma busca mais refinada no google, você encontra muitas opções de respostas.

H

Não entendi.

Coloca um pseudo código do que você quer. O que você postou aí tá bem difícil de entender.

D

Hebert Coelho:
Não entendi.

Coloca um pseudo código do que você quer. O que você postou aí tá bem difícil de entender.


Ele quer aquela pesquisa com os coringas, saca? %%%%

H

drsmachado:
Hebert Coelho:
Não entendi.

Coloca um pseudo código do que você quer. O que você postou aí tá bem difícil de entender.


Ele quer aquela pesquisa com os coringas, saca? %%%%
Pois é rapaz… Tá tenso hoje! tsc

R
Assim Hebert Coelho:

se na  tabela Cliente eu tivesse:

Abelha da silva;

Agua de Nada;

Bolha Azul;

Cartada Master;

Com o SELECT * FROM cliente WHERE cli_nome ="Abelha da silva" iria me retornar somenteo Abelha da Silva certo?

O que eu quero fazer:

se eu colocar SELECT * FROM cliente WHERE cli_nome ="A" ele me retornasse:
Abelha da silva;
Agua de Nada;

Tem como? E como se faz?

H

AAAAAAAAAAAaaaaaaagora sim!

faça assim: SELECT * FROM cliente WHERE cli_nome like ‘%A%’

G

Sim, o coringa é o %

‘%A%’ qualquer cadeida de caracteres que tenha ‘A’ no meio

‘A%’ qualquer cadeida de caracteres que comece com ‘A’

‘%A’ qualquer cadeida de caracteres que termine com ‘A’

Usualmente é melhor usar ‘%A%’ pois essa engloba as outras também.

Se estiver usando o postgree tem ainda o ‘ilike’ que não faz diferenciação de maiúsculas e minúsculas.

att

D

No SQL ANSI, há dois coringas, o % e o _
O % substitui quaisquer caracteres até ou a partir do que está especificado:
’%ABC’ Buscará tudo o que contém ABC em seu final.
‘ABC%’ buscará tudo o que contém ABC no início.
’%ABC%’ busca tudo o que contém ABC, independente da posição.
Já o _ substitui apenas um caractere:
A’ Busca tudo o que contém qualquer caractere seguido de A.
'A
’ busca tudo o que começa com A e tem qualquer caractere.

R

Vlw pessoal…consegui…com essas opcoes msm^^
E desculpa os varios exemplos, acho que ficou mais dificil pra chegar nisso!
VLW msm!

I

drsmachado:
Sim.
Aliás, corrija o título do tópico, como você mesmo disse, está óbvio demais.
Corrija também tua pergunta, pois, se você só quer saber como é possível, está respondido.
E, com uma busca mais refinada no google, você encontra muitas opções de respostas.

Além de pedante e desagradável, parece que não sabes ler, drsmachado:
"teria como fazer isso?
E se sim, como?"
Tsc, tsc, tsc.

Criado 5 de novembro de 2012
Ultima resposta 6 de jan. de 2015
Respostas 10
Participantes 5