Hallo liebe Entwicklergemeinde,
ich habe ein Problem mit SYSDATE. Ein im SQL-Developer geschriebenes Script läuft einwandfrei. Übertrage ich es in Eclipse/Birt und lasse es direkt aus dieser Umgebung laufen, läuft es auch einwandfrei. Schiebe ich das Script bzw. den .rptdesign dann in die Webumgebung, werden die auf SYSDATE basierenden Daten verschoben.
Hintergrund ist, ich möchte Dinge immer bezogen auf das letzte Wochenende ausgeben, also brauche ich eine Routine, die unabhängig vom aktuellen Tag, mich abfragetechnisch immer am letzten Freitag absetzt.
Der fragliche Ausschnitt sieht folgendermaßen aus:
Diese Script bzw. dieser Teil soll nichts weiter tun, als mir die Dinge auszugeben, die Freitags ab 18 Uhr bis Monatgs 06 Uhr in die Datenbank eingegeben worden sind.
Im Developer und in der Eclipse/Birt Umgebung funktioniert das einwandfrei.
Bezogen auf das letzte Wochenende heißt dies, korrekte Abfrage wäre von Fr. 18:00 Uhr bis Montag (06:00 uhr). Über das Web wird der Freitag auf den 12.01. gesetzt, Samstag auf den 13.01. Sontag entsprechend auf den 14.01 und heute ist dann der 15:01.
Die Wochentage sind also korrekt ausgegeben, aber einem falschen Datum zugeordnet. Bei Abfragen, die sich auf ein konkretes Datum beziehen, erfolgt die Abfrage korrekt.
Kennt jemand dieses Phänomen und kann mir bitte sagen, wie man dem begegnet? Oder hat jemand eine sinnige Vermutung?
Grüße,
Stephan
ich habe ein Problem mit SYSDATE. Ein im SQL-Developer geschriebenes Script läuft einwandfrei. Übertrage ich es in Eclipse/Birt und lasse es direkt aus dieser Umgebung laufen, läuft es auch einwandfrei. Schiebe ich das Script bzw. den .rptdesign dann in die Webumgebung, werden die auf SYSDATE basierenden Daten verschoben.
Hintergrund ist, ich möchte Dinge immer bezogen auf das letzte Wochenende ausgeben, also brauche ich eine Routine, die unabhängig vom aktuellen Tag, mich abfragetechnisch immer am letzten Freitag absetzt.
Der fragliche Ausschnitt sieht folgendermaßen aus:
Code:
and ( ( (to_char(xtime, 'D') in '5') and (to_char(xtime, 'hh24') >= '18') ) or (to_char(xtime, 'D') in '6' and (xtime < SYSDATE -2)) or ((to_char(xtime, 'D') in '7' ) and (to_char(xtime, 'hh24:mi') <='23:59')) or ((to_char(xtime, 'D') in '1' ) and (to_char(xtime,'hh24:mi') <= '06:00')) ) and xtime between sysdate -( case when to_char sysdate, 'D') in ('5', '6, '7') then 10 else 7 end) and sysdate -( case when th_char(sysdate, 'D') in ('5', '6', '7') then 3 else 0 end)
Im Developer und in der Eclipse/Birt Umgebung funktioniert das einwandfrei.
Bezogen auf das letzte Wochenende heißt dies, korrekte Abfrage wäre von Fr. 18:00 Uhr bis Montag (06:00 uhr). Über das Web wird der Freitag auf den 12.01. gesetzt, Samstag auf den 13.01. Sontag entsprechend auf den 14.01 und heute ist dann der 15:01.
Die Wochentage sind also korrekt ausgegeben, aber einem falschen Datum zugeordnet. Bei Abfragen, die sich auf ein konkretes Datum beziehen, erfolgt die Abfrage korrekt.
Kennt jemand dieses Phänomen und kann mir bitte sagen, wie man dem begegnet? Oder hat jemand eine sinnige Vermutung?
Grüße,
Stephan
Comment