I Oracle kan vi omdanne datoer til tal og anvende aritmetik på dem på en række forskellige måder.
For eksempel sysdate-7
giver os datoen for syv dage siden. trunc(some_date)
fjerner tidselementet fra en datokolonne. Og to_char(some_date, 'SSSSS')
giver os sit tidselement som antallet af sekunder siden midnat. Så 06:45:00 er 24300 sekunder og 18:15:59 er 69359 sekunder (tjek venligst disse tal, da de ligger bag på en konvolut).
I hvert fald, at sætte det hele sammen i en enkelt forespørgsel som denne ...
select *
from your_table
where creation_date >= trunc(sysdate)-7
and to_number(to_char(creation_date, 'sssss')) between 24300 and 69359
... vil producere alle de poster, der er oprettet i den sidste uge med et tidselement inden for kernetimer.