Thema: Delphi In SQL Zeitraum abfragen

Einzelnen Beitrag anzeigen

harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
197 Beiträge
 
Delphi 12 Athens
 
#8

AW: In SQL Zeitraum abfragen

  Alt 14. Okt 2024, 15:00
So, jetzt habe ich mal die Variante von DeddyH getestet (J=2024):

DM1.DataModule1.IBCQuery1.SQL.Add('select VERANSTALTUNGSID from VERANSTALTUNGEN ');
DM1.DataModule1.IBCQuery1.SQL.Add('where ((EXTRACT(YEAR from DatumStart) <= '+QuotedStr(IntToStr(J))+') and (EXTRACT(YEAR from DatumEnde) >= '+QuotedStr(IntToStr(J))+')) ');

Der code funktioniert zwar - ABER: es ist egal, ob ich für J 2024 oder 2023 oder 2022 eingebe, es kommt immer das gleiche Ergebnis dabei heraus. Da alle Veranstaltungen irgendwie vor/in oder in/nach 2024 starten/enden, kann das so nicht funktionieren...

Dann habe ich die Variante von Uwe Raabe getestet:

DM1.DataModule1.IBCQuery1.SQL.Add('where ( (EXTRACT(YEAR from DatumStart) = '+QuotedStr(IntToStr(J))+') or (EXTRACT(YEAR from DatumEnde) = '+QuotedStr(IntToStr(J))+') ');
DM1.DataModule1.IBCQuery1.SQL.Add('or ((EXTRACT(YEAR from DatumStart) < '+QuotedStr(IntToStr(J))+' and (EXTRACT(YEAR from DatumEnde) > '+QuotedStr(IntToStr(J))+'))) ');

Leider auch nicht besser...nur anderes Ergebnis. Mache ich einen Denkfehler oder muss die Abfrage anders verschachtelt werden?

Hartmut
Hartmut
  Mit Zitat antworten Zitat