Usuário com melhor resposta
pesquisa com wild card

Pergunta
-
ola, ao efectuar uma pesquisa por nome faço o seguinte:
select * from tab_users where nome like '%carlos santos%'
nao retorna nada, mas se fizer :
select * from tab_users where nome like '%carlos%' ou select * from tab_users where nome like '%santos%'
ja retorna.
Respostas
-
Olá,
Uma alternativa, não levando-se em consideração performance, mas apenas a funcionalidade, pode ser obtida colocando o % entre as palavras, semelhante ao exemplo abaixo:
select * from tab_users where nome like '%carlos%santos%'
Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008
- Sugerido como Resposta Heloisa Pires segunda-feira, 16 de julho de 2012 14:54
- Marcado como Resposta Heloisa Pires quinta-feira, 19 de julho de 2012 14:05
Todas as Respostas
-
-
-
Olá,
Uma alternativa, não levando-se em consideração performance, mas apenas a funcionalidade, pode ser obtida colocando o % entre as palavras, semelhante ao exemplo abaixo:
select * from tab_users where nome like '%carlos%santos%'
Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008
- Sugerido como Resposta Heloisa Pires segunda-feira, 16 de julho de 2012 14:54
- Marcado como Resposta Heloisa Pires quinta-feira, 19 de julho de 2012 14:05
-
Neste caso, você pode utilizar o que o Roberto disse ou utilizar Full Text pra fazer estas buscas.
Veja aqui Full Texe[]'s
Danilo Oliveira MCTS - SQL Server 2008, Implementation and Maintenance Blog: www.coffeeandcodes.com.br
-
Danilo,
Não acho que o FT seja aplicável neste caso. A pesquisa é apenas por nome... Ela não possui variações de tempos verbais, substantivos, etc... Acho que seria um canhão pra matar uma formiga... Mas, tecnicamente, sim, é possível.
Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008