1
votes

sélectionner la mise à jour de l'aide sur les requêtes

J'ai la requête de sélection ci-dessous pour les données quotidiennes, comment puis-je modifier pour qu'elle extrait le mois complet de données

select *
from BAU_SDT_INV_USER
where trunc(CHECKED_DATE) = to_date('2018/12/18', 'YYYY/MM/DD')


0 commentaires

4 Réponses :


1
votes

Si vous voulez le mois complet dans Oracle:

where checked_date >= date '2018-12-01' and
      checked_date < date '2019-01-01'


0 commentaires

0
votes

Peut-être quelque chose comme ça?

select * from BAU_SDT_INV_USER 
where CHECKED_DATE >= to_date('2018/12/01', 'YYYY/MM/DD')
  and CHECKED_DATE < to_date('2019/01/01', 'YYYY/MM/DD')


0 commentaires

0
votes
select *
from BAU_SDT_INV_USER
where CHECKED_DATE >= ADD_MONTHS(to_date(:inputDate, 'YYYY/MM/DD'), -1)  
  and CHECKED_DATE < TO_DATE(:input_Date,'YYYY/MM/DD'); 

0 commentaires

0
votes

Si les performances ne sont pas un point clé pour votre requête, il suffit de trunc par mois aux deux extrémités de la comparaison:

select *
from BAU_SDT_INV_USER
where trunc(CHECKED_DATE, 'mm') = trunc( to_date('2018/12/18', 'YYYY/MM/DD'), 'mm')


2 commentaires

Correct, mais pas compatible avec les index.


@TheImpaler: Oui. J'ai mis à jour mon message pour le notifier.