sql >> Base de Datos >  >> RDS >> Oracle

Cómo obtener datos semanales en Oracle

Depende de lo que estés buscando. Si está después de los próximos 7 días, entonces:

select * 
  from my_table
 where date_col between :my_date and :my_date + 7

Si quiere decir de lunes a domingo, use next_day función:

select *
  from my_table
 where date_col between next_day(:my_date, 'Monday') - 7 
                    and next_day(:my_date, 'Monday')

Ambos donde :my_date es la fecha de su fallecimiento.

Si no está pasando una fecha sino una cadena, la primera se convertiría, usando to_date función:

select *
  from my_table
 where date_col between to_date(:my_date,'dd/mm/yyy') + 7
                    and to_date(:my_date,'dd/mm/yyy')

y podrías hacer algo similar para el segundo. Si tiene que usar to_date entonces date_col debe tener un índice basado en funciones el to_date(date_col,'dd/mm/yyyy') o si va a convertirlo de manera diferente, entonces de esa manera.