[firebase-br] Filtro de Hora Entre datas

marcelo - teflamar marcelo em teflamar.com.br
Sex Jun 30 13:20:01 -03 2006


se as datas não forem iguais complica um pouco, a solução que achei foi 
comparar as datas:

if eddatai.text=eddataf.text then
begin
    dm.ibquery1.sql.text:='SELECT * FROM FATURAS '+
    'WHERE DATA=:DATAI AND HORA_ENTREGA BETWEEN :HORAI AND :HORAF ';
    dm.ibquery1.ParamByName('datai').asdatetime:=strtodate(eddatai.text);
    dm.ibquery1.ParamByName('horai').asdatetime:=strtotime(edhorai.text);
    dm.ibquery1.ParamByName('horaf').asdatetime:=strtotime(edhoraf.text);
end;
if dm.txadmdatai.asstring<>dm.txadmDataf.asstring then
begin
    dm.ibquery1.sql.text:='SELECT * FROM FATURAS '+
    'WHERE (DATA = :DATAI AND HORA >= :HORAI) OR '+
    '(DATA=:DATAF AND HORA <= :HORAF) OR '+
    '(DATA > :DATAI AND DATA < :DATAF) ';
    dm.ibquery1.ParamByName('datai').asdatetime:=strtodate(eddatai.text);
    dm.ibquery1.ParamByName('dataf').asdatetime:=strtodate(eddataf.text);
    dm.ibquery1.ParamByName('horai').asdatetime:=strtotime(edhorai.text);
    dm.ibquery1.ParamByName('horaf').asdatetime:=strtotime(edhoraf.text);
end;
dm.IBQuery1.open;

----- Original Message ----- 
From: "Tavares - Consulter" <tavares em consultersul.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, June 30, 2006 12:58 PM
Subject: Re: [firebase-br] Filtro de Hora Entre datas


Rafael tente assim:

select * from atendimentos
where (dataentrada >= '26/06/2006' and horaentrada >= '19:00:00') and
         (dataentrada <= '27/06/2006' and horaentrada <= '07:00:00')

PS.: acho que vc esqueceu as aspas simples no final do parâmetro
dataentrada.


----- Original Message ----- 
From: "Rafael" <rafigor em yahoo.com.br>
To: <firebird-br em yahoogrupos.com.br>; <lista em firebase.com.br>
Sent: Friday, June 30, 2006 11:06 AM
Subject: [firebase-br] Filtro de Hora Entre datas


Bom dia galera,

Seguinte, estou desenvolvendo um aplicativo, e cheguei em um tederminado
problema,

Eu tenho uma tabela de atendimento onde nela tem os seguintes campos

atendimento (pk)
procedimento
.
.
.
dataentrada (date)
horaentrada (Time)
datasaida (date)
horasaida (date)

Então, ai eu estou fazendo um relatório que eu preciso da seguinte situação
selecionar os registros que por exemplo:

todos os registro do dia 26/06/2006 com hora maior que 19:00:00 hrs
até o dia 27/06/2006 com hora menor que 07:00:00 hrs

E não estra retornando nada na minha query.

estou usando assim a select
select * from atendimentos
where (dataentrada >= '26/06/2006 and horaentrada >= '19:00:00') and
         (dataentrada <= '27/06/2006 and horaentrada <= '07:00:00')

se alguem tiver alguima sugestão, desde já obrigado!
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.6/378 - Release Date: 28/06/2006





Mais detalhes sobre a lista de discussão lista