Ajuda SQL consulta datas
28/03/2003
0
Ola Pessoal,
Eu pedi ajuda ao fórum para fazer uma consulta entre datas, usando apenas o IF. Tenho 2 maskedit, um com a data final e outro com a data inicial, sendo que eu irei digitar apenas o dia e o mes que eu gostaria de consultar. Com a ajuda de um colega do forum, a pesquisa deu certo usando este código:
var
d1, d2, d3, m1, m2, m3, a1, a2, a3: word; (onde d=dia, m=mes, a=ano e 1 = data inicial, 2=data final, 3=data da tabela)
decodedate(strtodate(data1.text),a1,m1,d1);
decodedate(strtodate(data2.text),a2,m2,d2);
tabela.first;
while not tabela.eof do
begin
decodedate([campo].asdatetime,a3,m3,d3);
if ((d3>=d1) and (m3>=m1)) and ((d3<=d2) and (m3<=m2)) then
begin
[faça o que quiser];
end;
next;
end;
EditMask: __/__ (nao está no formato date)
Banco: DBF
Delphi:6.0
Aproveitando, gostaria de saber como ficaria o código para consultar pelo dia e o mes entre duas datas, datainicial e data final em sql.
Eu pedi ajuda ao fórum para fazer uma consulta entre datas, usando apenas o IF. Tenho 2 maskedit, um com a data final e outro com a data inicial, sendo que eu irei digitar apenas o dia e o mes que eu gostaria de consultar. Com a ajuda de um colega do forum, a pesquisa deu certo usando este código:
var
d1, d2, d3, m1, m2, m3, a1, a2, a3: word; (onde d=dia, m=mes, a=ano e 1 = data inicial, 2=data final, 3=data da tabela)
decodedate(strtodate(data1.text),a1,m1,d1);
decodedate(strtodate(data2.text),a2,m2,d2);
tabela.first;
while not tabela.eof do
begin
decodedate([campo].asdatetime,a3,m3,d3);
if ((d3>=d1) and (m3>=m1)) and ((d3<=d2) and (m3<=m2)) then
begin
[faça o que quiser];
end;
next;
end;
EditMask: __/__ (nao está no formato date)
Banco: DBF
Delphi:6.0
Aproveitando, gostaria de saber como ficaria o código para consultar pelo dia e o mes entre duas datas, datainicial e data final em sql.
Viviankb
Curtir tópico
+ 0
Responder
Posts
29/03/2003
Luciano Pimenta®
Respondendo a sua pergunta:
Select CODIGO, DATA from TABELA
where EXTRACT(Day from DATA)>=DiaInicio And EXTRACT(Day from DATA)<=DiaFim And EXTRACT(MOnth from DATA)>=MesInicio And EXTRACT(Month from DATA)<=MesFim
:) :)
Select CODIGO, DATA from TABELA
where EXTRACT(Day from DATA)>=DiaInicio And EXTRACT(Day from DATA)<=DiaFim And EXTRACT(MOnth from DATA)>=MesInicio And EXTRACT(Month from DATA)<=MesFim
:) :)
Responder
Clique aqui para fazer login e interagir na Comunidade :)