To zależy, czego szukasz. Jeśli minie kolejne 7 dni, to:
select *
from my_table
where date_col between :my_date and :my_date + 7
Jeśli chcesz powiedzieć od poniedziałku do niedzieli, użyj next_day
funkcja:
select *
from my_table
where date_col between next_day(:my_date, 'Monday') - 7
and next_day(:my_date, 'Monday')
Oba gdzie :my_date
to data twojego przejścia.
Jeśli nie przekazujesz daty, ale ciąg, to pierwszy stanie się, używając to_date
funkcja:
select *
from my_table
where date_col between to_date(:my_date,'dd/mm/yyy') + 7
and to_date(:my_date,'dd/mm/yyy')
i mógłbyś zrobić coś podobnego przez sekundę. Jeśli musisz użyć to_date
następnie date_col
powinien mieć indeks oparty na funkcjach
w dniu to_date(date_col,'dd/mm/yyyy')
lub jeśli zamierzasz przekonwertować go inaczej niż w ten sposób.