SQL: Cep´s aproximados

Delphi

30/09/2008

Olá pessoal, tudo bem?

Estou desenvolvendo um software e tem um SQL que esta me tirando do serio...

eu gostaria de fazer um select com ceps aproximados, o cliente digita um cep e no select mostra os endereços aproximados do mesmo.

eu andei dando uma estudada na estrutura do Cep, mas deixo aqui minha dúvida, talvez alguém já passou por isso e pode me ajudar....


um abraço,

Marcelo


Marcelo Silva

Marcelo Silva

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

30/09/2008

o CEP é sequencial e possui uma estrutura bem clara e com todas as especificações disponibilizadas no [url=http://www.correios.com.br/cep/cep_estrutura.cfm]site dos correios[/url]
o que você precisa é saber quantos endereços quer retornar.
imagine um CEP informado pelo cliente. se eu quiser exibir os 10 endereços mais próximos, basta selecionar os cinco endereços com CEP imediatamente ´menor´ e os cinco endereços com CEP imediatamente ´maior´.
algo assim:
- busca pelo CEP informado
select * from tabela
where cep = :cep

- busca pelos cinco endereços de CEP ´menor´ que o informado
select first 5 * from tabela
where cep < :cep
order by cep desc

- busca pelos cinco endereços de CEP ´maior´ que o informado
select first 5 * from tabela
where cep > :cep
order by cep

espero que seja isso que você procura.


GOSTEI 0
Robinhocne

Robinhocne

30/09/2008

ou assim...

  // Busca por Cpf
  if rboIdx.ItemIndex = 2 then
    With QryBusca Do
      begin
         Close;
         SQL.Clear;
         SQL.Add(´Select * From Clientes´);
         SQL.Add(´Where Upper(Cpf)´);
         SQL.Add(´Like Upper(´´´+TxtLoc.Text+´¬´´)´); //Iniciado por
         Open;
      end;


eu busco por cpf e ai vai aproximando os Clientes que eu tenho com o numero da pesquisa


GOSTEI 0
POSTAR