Dipende da cosa cerchi. Se sono trascorsi i prossimi 7 giorni, allora:
select *
from my_table
where date_col between :my_date and :my_date + 7
Se vuoi dire dal lunedì alla domenica, usa il next_day
funzione:
select *
from my_table
where date_col between next_day(:my_date, 'Monday') - 7
and next_day(:my_date, 'Monday')
Entrambi dove :my_date
è la data del tuo trapasso.
Se non stai passando una data ma una stringa, la prima diventerebbe, usando to_date
funzione:
select *
from my_table
where date_col between to_date(:my_date,'dd/mm/yyy') + 7
and to_date(:my_date,'dd/mm/yyy')
e potresti fare qualcosa di simile per il secondo. Se devi usare to_date
quindi date_col
dovrebbe avere un indice basato su funzioni
il to_date(date_col,'dd/mm/yyyy')
o se hai intenzione di convertirlo in modo diverso, allora in questo modo.