Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SQL:Abrufen von Datensätzen, die in einem Zeitraum für bestimmte Daten erstellt wurden

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.