Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment obtenir des données hebdomadaires dans Oracle

Cela dépend de ce que vous recherchez. Si vous avez dépassé les 7 prochains jours, alors :

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

Si vous voulez dire du lundi au dimanche, utilisez le next_day fonction :

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

Les deux où :my_date est la date de votre décès.

Si vous ne transmettez pas une date mais une chaîne, la première deviendrait, en utilisant le to_date fonction :

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

et vous pourriez faire quelque chose de similaire pour le second. Si vous devez utiliser to_date puis date_col devrait avoir un index basé sur les fonctions le to_date(date_col,'dd/mm/yyyy') ou si vous allez le convertir différemment, alors de cette façon.