Re: comment verifier entre deux dates pour reservation hotel

Posté par Kaer le 11/7/2008 17:23:58
Cette algorithme ne fonctionne pas pour tout les cas.

P1 = 01/03/2008 au 31/03/2008
P2 = 01/04/2008 au 30/04/2008

On pourra ajouter la période P3 sans aucun problème.

P3 = 01/01/2008 au 30/05/2008

L'algorithme exacte est :

SELECT *
FROM   PERIODE
WHERE  (P1_DEBUT > P2_DEBUT AND (P1_DEBUT < P2_FIN OR P1_FIN < P2_FIN)) OR
       (P2_DEBUT > P1_DEBUT AND (P2_DEBUT < P1_FIN OR P2_FIN < P1_FIN)) OR
       (P1_DEBUT = P2_DEBUT AND (P1_FIN IS NOT NULL AND P2_FIN IS NOT NULL))


Un très bon article sur la gestion des périodes (orienté SQL) :

http://sqlpro.developpez.com/cours/gestiontemps/

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=4356&post_id=23927