V Oracle můžeme změnit data na čísla a různými způsoby na ně aplikovat aritmetiku.
Například sysdate-7
nám dává datum před sedmi dny. trunc(some_date)
odebere prvek času ze sloupce data. A to_char(some_date, 'SSSSS')
nám udává svůj časový prvek jako počet sekund od půlnoci. Takže 06:45:00 je 24300 sekund a 18:15:59 je 69359 sekund (zkontrolujte prosím tato čísla, protože jsou zobrazena na zadní straně obálky).
Každopádně, dát to všechno dohromady do jediného dotazu, jako je tento ...
select *
from your_table
where creation_date >= trunc(sysdate)-7
and to_number(to_char(creation_date, 'sssss')) between 24300 and 69359
... vytvoří všechny záznamy vytvořené za poslední týden s časovým prvkem v rámci základních hodin.