Requete SQL d'inclusion de dates

Résolu
Bonjour,

J'ai une table SQL avec 4 champs:
DATEDEB : date début
HEUREDEB : heure début
DATEFIN : Date fin
HEUREFIN : heure de fin

Je veux rechercher via une requête SQL s'il existe des enregistrements dont les dates / heures incluent une période (datedeb / heuredeb et datefin / heurefin).

Le test semble simple:

C'est vérifié si
(datedeb < DATEDEB
AND datefin > DATEDEB)
OR
(datedeb < DATEFIN
AND datefin > DATEFIN)

Par contre là ou ca se complique, c'est dans le cas ou datedeb = DATEDEB ou que datefin = DATEFIN. Là on va devoir s'interesser aux heures.
Avez vous qq chose à me proposer et tout ça en SQL pas en programmation.
Merci par avance.

Tilt.

5 réponses

  1. Question conne, pourquoi avoir séparé les dates des heures ?
    0
    1. En fait, il s'agit d'une saisie de l'utilisateur et je n'avais pas penser à concatener ensuite date+heure.
      Du coup est-ce que si je concatène mes attributs et que j'ai seulement 2 champs du type
      DATEDEB de format JJ-MM-AAAA HH:MM:SS
      DATEFIN de format JJ-MM-AAAA HH:MM:SS

      d'après toi ma requête
      (datedeb < DATEDEB
      AND datefin > DATEDEB)
      OR
      (datedeb < DATEFIN
      AND datefin > DATEFIN)
      est bonne même si date datedeb = DATEDEB ou que datefin = DATEFIN.
      Merci.
      0
      1. bonjour, il faut que tu regarde du cote du timestamp et de mktime pour convertir tes dates et heures en timestamp, plus facile a comparer.

        voici un lien https://www.php.net/mktime
        0
        1. Bonjour,

          Merci pour la fonction PHP mktime mais je voudrais la même chose mais en SQL.
          Est-ce qu'il existe un équivalent en SQL pour MYSQL?
          Merci.
          0
          1. en sql je crois me souvenir que DATE_FORMAT peut trepondre a tes attentes, à confirmer, j'utilise principalement Mysql

            pour t'aider regarde ici
            http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
            0