In Oracle kunnen we datums in getallen omzetten en er op verschillende manieren rekenkunde op toepassen.
Bijvoorbeeld sysdate-7
geeft ons de datum zeven dagen geleden. trunc(some_date)
verwijdert het tijdelement uit een datumkolom. En to_char(some_date, 'SSSSS')
geeft ons het tijdselement als het aantal seconden sinds middernacht. Dus 06:45:00 is 24300 seconden en 18:15:59 is 69359 seconden (controleer deze cijfers, want ze staan op de achterkant van een envelop).
Hoe dan ook, om dat allemaal samen te voegen in een enkele zoekopdracht als deze ...
select *
from your_table
where creation_date >= trunc(sysdate)-7
and to_number(to_char(creation_date, 'sssss')) between 24300 and 69359
... zal alle records produceren die in de afgelopen week zijn gemaakt met een tijdselement binnen kernuren.