In Oracle können wir Datumsangaben in Zahlen umwandeln und Arithmetik auf verschiedene Weise darauf anwenden.
Zum Beispiel sysdate-7
gibt uns das Datum vor sieben Tagen. trunc(some_date)
entfernt das Zeitelement aus einer Datumsspalte. Und to_char(some_date, 'SSSSS')
gibt uns sein Zeitelement als die Anzahl der Sekunden seit Mitternacht. 06:45:00 sind also 24300 Sekunden und 18:15:59 sind 69359 Sekunden (bitte überprüfen Sie diese Zahlen, da sie auf der Rückseite eines Umschlags herumfummeln).
Wie auch immer, das alles in einer einzigen Abfrage wie dieser zusammenzufassen ...
select *
from your_table
where creation_date >= trunc(sysdate)-7
and to_number(to_char(creation_date, 'sssss')) between 24300 and 69359
... werden alle Datensätze erstellt, die in der letzten Woche mit einem Zeitelement innerhalb der Kernzeit erstellt wurden.