Requete SQL d'inclusion de dates

Résolu/Fermé
Messages postés
24
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
27 août 2009
-
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
-
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

Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
84
Question conne, pourquoi avoir séparé les dates des heures ?
Messages postés
24
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
27 août 2009
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.
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
353
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
Messages postés
24
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
27 août 2009
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.
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
353
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