locked
consulta de dados por aproximacao RRS feed

  • Pergunta

  • Caros colegas

    Eu preciso efetuar uma consulta ao banco de dados de clientes e a consulta precisa ser por aproximacao. Atualmente eu efetuo esta consulta utilizando o comando Like, mas este comando é muito lento. Gostaria de saber se alguem pode me informar um outro comando ou outra forma para eu extrair os dados da tabela.

    A query que eu utilizo atualmente é parecida com o exemplo abaixo:

    select nome, endereco from CLIENTES where nome like '%' + 'John' + '%' and nome like '%' + 'Alves' + '%' and nome like '%' + 'Castro' + '%'

    O nome que eu procuro é "John Alves Castro" sendo que o usuario pode informar  "Alves Castro, John"

    Desje agradeco a sua colaboracao

    quinta-feira, 8 de março de 2007 18:08

Todas as Respostas

  • de uma olhada no padindex, mais vc. pode usar o like passando [ ] exemplo:

     

    Create table exemplo (nome varchar(100))


     insert into exemplo (nome) values ('John Alves Castro')


    Select * From exemplo where nome like '%Alves%[%Castro%]'

     

    Abs;

    sexta-feira, 9 de março de 2007 10:30
  • Higuti,

    Em relação ao like, se você for trabalhar com um quantidade grande informações, ele poderá apresentar lentidão.

    O PatIndex ou até mesmo o CharIndex poderiam ser analisados para tentar realizar esta consulta.

    sexta-feira, 9 de março de 2007 11:57
    Moderador