Requete SQL d'inclusion de dates

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

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
18 avril 2009 à 21:40
Question conne, pourquoi avoir séparé les dates des heures ?
0
teetee75 Messages postés 24 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 27 août 2009 1
19 avril 2009 à 07:31
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
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
19 avril 2009 à 08:51
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
teetee75 Messages postés 24 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 27 août 2009 1
19 avril 2009 à 12:02
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
19 avril 2009 à 13:13
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