Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
197 Beiträge
Delphi 12 Athens
|
AW: In SQL Zeitraum abfragen
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
|