Fórum Consulta entre Datas #330503
02/10/2006
0
Sempre fiz pesquisa entre data dessa forma
With QuerytabelaDo
Begin
Close;
SQL.Clear;
SQL.Text:=´SELECT * FROM tabela WHERE DataInicio AND DataFinal BETWEEN :DataInicial AND :DataFinal´;
ParamByName(´DataInicial´).AsString := FormatDateTime(´yyyy-mm-dd´, DateTimePicker1.Date);
ParamByName(´DataFinal´).AsString := FormatDateTime(´yyyy-mm-dd´, DateTimePicker2.Date);
SQL.Add(´ORDER BY Campo´);
Open;
End;
Acho que esse é um jeito certo de fazer essa pesquisa, mas quando vou fazer ele não traz os registros que estou precisando
Ex:
Data1: 01/10/2006
Data2: 03/03/2006
Se eu colocar uma pesquisa entre 02/10/2006 e 02/03/2006 ele está trazendo essas 2 datas que eu coloquei como exemplo, ele não podia trazer nenhum.
Obs: Na minha tabela tenho esse 2 campos (Data1,Data2), e é através dele que estou fazendo a consulta.
Alguém poderia me dizer o que está errado ?
Obrigado
Leandrosl
Curtir tópico
+ 0Posts
02/10/2006
Titanius
[]s
Gostei + 0
02/10/2006
Motta
Alguns tem a hora junto ao formato de Data o que pode gerar problemas.
Gostei + 0
02/10/2006
Leandrosl
Gostei + 0
02/10/2006
Micheus
SELECT * FROM tabela WHERE DataInicio BETWEEN :DataInicial AND :DataFinal AND DataFinal BETWEEN :DataInicial AND :DataFinal
Desde que os campos DataInicio e DataFinal em sua tabela sejam do tipo DATE, seria realmente mais apropriado que vc os passasse como data, evitaria qualquer problema com conversão:
ParamByName(´DataInicial´).AsDateTime := DateTimePicker1.Date; ParamByName(´DataFinal´).AsDateTime := DateTimePicker2.Date;
[]s
Gostei + 0
02/10/2006
Leandrosl
Obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)