Jump to content
Fórum Script Brasil
  • 0

Select entre faixa de Registros dando erro.


Welinton

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...