Di Oracle, kita dapat mengubah tanggal menjadi angka dan menerapkan aritmatika padanya dalam berbagai cara.
Misalnya sysdate-7
memberi kita tanggal tujuh hari yang lalu. trunc(some_date)
menghapus elemen waktu dari kolom tanggal. Dan to_char(some_date, 'SSSSS')
memberi kita elemen waktunya sebagai jumlah detik sejak tengah malam. Jadi 06:45:00 adalah 24.300 detik dan 18:15:59 adalah 69359 detik (harap periksa angka-angka itu, karena angka-angka tersebut adalah figgerin').
Bagaimanapun, menyatukan semuanya dalam satu kueri seperti ini ...
select *
from your_table
where creation_date >= trunc(sysdate)-7
and to_number(to_char(creation_date, 'sssss')) between 24300 and 69359
... akan menghasilkan semua catatan yang dibuat dalam minggu terakhir dengan elemen waktu dalam jam inti.