Partage
  • Partager sur Facebook
  • Partager sur Twitter

Intervalle de date

    21 février 2012 à 11:52:32

    Bonjour,

    Voici mon problème :

    Dans une requête SQL je fait un SELECT en fonction de deux dates passées en paramètre. Une date de debut et une date de fin.

    Ma requête comporte donc la ligne suivante :

    AND "+choixReq+" BETWEEN '"+simpleFormat.format(JDate_deb.getDate())+"' AND '"+simpleFormat.format(JDate_fin.getDate())+"'
    


    Seulement lorsque je renseigne pour les deux bornes, la même date, d'aujourd'hui par exemple, cela ne va pas me retourner les lignes avec la date d'aujourd'hui.

    Je pense avoir une piste, c'est que dans ma BDD les dates sont au format DATETIME, et dans ma requête c'est du DATE.

    Une question me vient alors, la date suivante : 21/02/2012 09:30:03 est elle considérée comme supérieure à 21/02/2012 ?

    EDIT : il manque un bout

    SimpleDateFormat  simpleFormat = new SimpleDateFormat("dd/MM/yyyy");
    
    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2012 à 12:42:53

      Bonjour,

      Suffit de poser la question au SGBD ... :

      SELECT IF(CAST('2012-02-21 09:30:03' AS DATETIME) > DATE('2012-02-21'),'TRUE', 'FALSE');
      
      > TRUE
      


      ++
      • Partager sur Facebook
      • Partager sur Twitter
        21 février 2012 à 13:37:33

        C'est bien ce que je pensais alors, mais comment résoudre mon problème?

        Merci pour la réponse :)
        • Partager sur Facebook
        • Partager sur Twitter
          21 février 2012 à 15:28:55

          Bonjour,

          Quel problème ?

          ++
          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2012 à 16:10:12

            > la date suivante : 21/02/2012 09:30:03 est elle considérée comme supérieure à 21/02/2012 ?

            Oui

            > comment résoudre mon problème?

            Remplace le between par "date >= date1 AND date < date2" et avance date2 d'un jour.
            • Partager sur Facebook
            • Partager sur Twitter

            Intervalle de date

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown