Comparaison de date avec sysdate

Résolu
Bonjour,

J'ai une table avec des dates en JJ/MM/AA.
Je cherche à comparer ces dates à la date du jour :

dateFin >= sysdate

Mais si dateFin est la date du jour, la ligne n'est pas retournée car il y a des heures, minutes, seconde associées à sysdate qui sont supérieures à celles de dateFin qui sont à 0.

Comment faire pour ne comparer que le jour/mois/année mais pas les heures ?

Merci,

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Merci,

    J'ai testé la fonction trunk(sysdate) qui marche, mais je fais plusieurs jointures avec 6 tables ayant des contraintes de dates, du style :

    dateDebut <= trunc(sysdate)
    AND dateFin>= trunc(sysdate)

    Lorsque je lance des bouts de requêtes en utilisant trunk(sysdate), je trouve le même résultat qu'en lançant
    dateDebut <= to_date('11/06/2010','DD/MM/YYYY')
    AND dateFin>= to_date('11/06/2010','DD/MM/YYYY')

    Mais lorsque je lance ma requête en entier, en utilisant to_date('11/06/2010','DD/MM/YYYY'), j'ai une réponse ; mais en utilisant trunk(sysdate), j'ai une erreur :
    "ORA-02393 : exceeded call limit on CPU usage."
    1. Je suis sous SQL developper avec une base de données sous Oracle (version récente)
      1. Salut,

        c'est la fonction trunc qui appliquée à sysdate ne te donnera que la date.
        compare
        select to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss') from dual;
        et
        select to_char(trunc(sysdate), 'dd/mm/yyyy hh24:mi:ss') from dual;