Fórum Realizar SELECT passando DIA/MES como Parametro #298467
05/10/2005
0
tenho uma tabela com um campo DT_FERIADO do tipo DATE.
eu gostaria de realizar um select nessa tabela para pegar todas as datas iguais ao parametro e também pegar todos os que tenham DIA/MÊS igual ao parametro independente do ano:
with Query1 do begin Close; SQL.Clear; SQL.Add(´SELECT DT_FERIADO FROM FERIADOS WHERE DT_FERIADO = :DT_FERIADO´); ParamByName(´DT_FERIADO´).AsDate := StrToDate(EditFeriado.Text); Open; end;
no caso acima eu consigo só as datas iguais ao parametro.
gostaria das datas que tb tivessem Dia/Mês do parametro.
poderiam me ajudar?
obrigado
Diogo
Diogoalles
Curtir tópico
+ 0Posts
05/10/2005
Rjun
Você pode fazer algo nesse sentido:
SELECT Dt_Feriado FROM Feriados WHERE Dt_Feriado = :Dt_Feriado OR (Month(Dt_Feriado) = Month(:Dt_Feriado) AND Day(Dt_Feriado) = Day(:Dt_Feriado))
Gostei + 0
13/10/2005
Diogoalles
utilizo Firebird 1.5 Delphi7 e BDE (infelizmente ainda, rsrsrs)
fiz exatamente como vc colocou ali mas não funcionou, porque não identificou MONTH e DAY.
poderia me dar uma dica se isto é por causa do banco ou se tem outra maneira ?
obrigado
Diogo
Gostei + 0
13/10/2005
Diogoalles
achei a solução.. agora funcionou.. valeu!
SQL.Add(´SELECT FERIADOS.DT_FERIADO FROM FERIADOS ´); SQL.Add(´WHERE (FERIADOS.DT_FERIADO = :DT_FERIADO) OR ´); SQL.Add(´((EXTRACT(MONTH FROM FERIADOS.DT_FERIADO) = :MES)AND´); SQL.Add(´ (EXTRACT(DAY FROM FERIADOS.DT_FERIADO) = :DIA)) ´);
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)