Fórum Pesquisa entre periodo de datas #356465
02/04/2008
0
Boa noite pessoal, meu problema é o seguinte:
Tenho uma tabela AGENDA com os campos dta_inicial e dta_final. O usuário irá selecionar a data inicial e data final no componente (dta inicial: 23/03/08 e dta final: 02/04/08 por exemplo).
Como fazer a pesquisa em SQL na tabela para retornar apenas os registros que estiverem entre esse periodo??
Será que consegui ser claro na minha duvida?
Tentei muita coisa aqui, mas nao consegui o resultado esperado...
Tenho uma tabela AGENDA com os campos dta_inicial e dta_final. O usuário irá selecionar a data inicial e data final no componente (dta inicial: 23/03/08 e dta final: 02/04/08 por exemplo).
Como fazer a pesquisa em SQL na tabela para retornar apenas os registros que estiverem entre esse periodo??
Será que consegui ser claro na minha duvida?
Tentei muita coisa aqui, mas nao consegui o resultado esperado...
Bruno6652
Curtir tópico
+ 0
Responder
Posts
03/04/2008
Fabiano Góes
bom,
não sei que banco de dados você está usando nem qual o formato que as datas estão sendo gravados no banco, mais uma instrução SQL pra pesquisar entre periodos é usando o ´[b:940a3a9f0f]BETWEEN[/b:940a3a9f0f]´
ex 1:
ex 2:
ou usando parametros:
ou ainda assim já no Delphi:
acho q assim você pode resolver seu problema.
um abraço!!!
não sei que banco de dados você está usando nem qual o formato que as datas estão sendo gravados no banco, mais uma instrução SQL pra pesquisar entre periodos é usando o ´[b:940a3a9f0f]BETWEEN[/b:940a3a9f0f]´
ex 1:
SELECT * FROM cliente c WHERE c.data BETWEEN ´01.03.2008´ AND ´10.04.2008´
ex 2:
SELECT * FROM cliente c WHERE c.data BETWEEN ´01/03/2008´ AND ´10/04/2008´
ou usando parametros:
SELECT * FROM cliente c WHERE c.data BETWEEN :dataIni AND :dataFim
ou ainda assim já no Delphi:
var sSql: string; sDataIni, sDataFim: string; begin sDataIni := FormatDateTime(´dd"/"mm"/"yyyy´, DateTimePicker1.Date); sDataFim := FormatDateTime(´dd"/"mm"/"yyyy´, DateTimePicker2.Date); sSql := ´SELECT * FROM cliente c WHERE c.data ´ + ´BETWEEN ´ + QuotedStr(sDataIni) + ´ AND ´ + QuotedStr(sDataFim); ClientDataSet.Close; ClientDataSet.CommandText := sSql; ClientDataSet.Open; end;
acho q assim você pode resolver seu problema.
um abraço!!!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)