Ir para conteúdo
Fórum Script Brasil
  • 0

Select entre faixa de Registros dando erro.


Welinton

Pergunta

Senhores estou com um problemão.

Tenho dois registros em uma tabela.

Imaginem a seguinte situação.

ID ID_CONTA CEP

1 5 13660-000

2 5 14000-000

Quando faço o select para saber se o cep que estou vendo é desta conta faço desta forma.

select id_conta where <tabela> where cep >= '13700-000' and cep <= '13700-000'

Podem reparar que a faixa do cep esta na tabela mas não retorna nada.

Quando faço o select assim retorna o id da conta.

select id_conta where <tabela> where cep >= '13660-000' and cep <= '14000-000'

Creio que é porque o valor do select é igual o valor da tabela.

O campo esta em varchar, fiz um teste com inteiro e também deu este problema, lembrando que não posso trabalhar com inteiro

pois é cep e não posso descartar Zeros a esquerda.

Alguém pode me ajudar?

Como devo proceder?

Valeu desde já.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Oi, Welinton!

Eu não entendi o

select id_conta where tabela where cep >= '13700-000' and cep <= '13700-000'
Não seria assim?
select id_conta FROM tabela where cep >= '13700-000' and cep <= '13700-000'
Se eu estiver certo, então o melhor seria escrever assim:
select id_conta FROM tabela where cep BETWEEN '13700-000' and '13700-000'

Link para o comentário
Compartilhar em outros sites

  • 0
Oi, Welinton!

Eu não entendi o

select id_conta where tabela where cep >= '13700-000' and cep <= '13700-000'
Não seria assim?
select id_conta FROM tabela where cep >= '13700-000' and cep <= '13700-000'
Se eu estiver certo, então o melhor seria escrever assim:
select id_conta FROM tabela where cep BETWEEN '13700-000' and '13700-000'

Exatamente isso que eu quero amigo.

Mas já fiz isso também e não retorna nada.

Busco desta forma

select id_conta FROM bolsa_conta_cep where cep BETWEEN '14801-000' and '14801-000';

Se eu buscar desta forma retorna o id.

select id_conta FROM bolsa_conta_cep where cep BETWEEN '14800-000' and '14801-000';

Porque existe o registro 14800-000.

Link para o comentário
Compartilhar em outros sites

  • 0

Por que você não usa o sinal de IGUAL ou o LIKE, tal como:

select id_conta FROM bolsa_conta_cep where cep = '14800-000';
ou
select id_conta FROM bolsa_conta_cep where cep LIKE '14800-000%';

Link para o comentário
Compartilhar em outros sites

  • 0
Por que você não usa o sinal de IGUAL ou o LIKE, tal como:

select id_conta FROM bolsa_conta_cep where cep = '14800-000';
ou
select id_conta FROM bolsa_conta_cep where cep LIKE '14800-000%';

Porque preciso saber se a conta pode ver um cep entre 14000-000 até 15000-000

Ou seja

select id_conta from tabela where cep >= 14500-000 and cep <= 14500-000

Valeu

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...