GARANTIR DESCONTO

Fórum Intervalo de dados dentro de um select #295727

15/09/2005

0

Estou gerando um relatório que faz um pesquisa dentro de um intervalo de dados, exemplo:

Valor inicial = 5
Valor final = 10

Ele deverá gerar o relatório dentro destes registros, mas eu tenho um problema:

O Campo do banco de dados ´Valor´ é um VARCHAR, porque?

Eu tenho valores que variam de ´A´ a ´Z´, exemplo:

Valor inicial = ´A´
Valor final = ´F´

Descobri uma função do Firebird que faz o sequinte:


SELECT * FROM PROPRIETARIO
WHERE cast(VALOR1_TIPO_PRO as numeric(4)) >= 1
AND     cast(VALOR1_TIPO_PRO as numeric(4)) <= 20



Mas não deu certo, ele não procurou dentro deste intervalo, acredito que ele varreu todo o banco, pq deu erro justamente num valor de conteudo ´A´ e o intervalo que passei não está dentro de ´A´.

Qunato ao select que faz com intervalos ´texto´ deu certo:
SELECT * FROM PROPRIETARIO
WHERE VALOR_PRO >= ´A´
AND VALOR_PRO <= ´F´

Como resolver com intervalos ´numericos´??
Obrigada.


Celamar

Celamar

Responder

Posts

15/09/2005

Rjun

Que tipo de informação é essa, onde você guarda letras e números e quer fazer pesquisa por intervalo?


Responder

Gostei + 0

15/09/2005

Celamar

Quadra de cemiterios


Responder

Gostei + 0

15/09/2005

Rjun

Você pode ter valores que mesclam letras e números, como 5A, 2F?


Responder

Gostei + 0

15/09/2005

Motta

que me conste o between funciona com alfa


select *
from tabela
where chave between ´A´ and ´B´


Responder

Gostei + 0

15/09/2005

Celamar

Para conhecimento, consegui resolver da seguinte forma:


SELECT * FROM PROPRIETARIO
WHERE cast(VALOR_PRO as numeric(4)) >= 1
AND     cast(VALOR_PRO as numeric(4)) <= 20
AND UPPER(VALOR_PRO) <= ´A´
ORDER BY NOME_PRO




Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar