|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : janvier 2007 Messages : 477 ![]() |
Bonjour à tous,
Je n'ai pas trop de soucis à tester la présence d'une date sur un intervalle de temps. Mais là je cherche à tester si deux intervalles se croisent ou non. J'essai de voir si je peux le faire directement par requête sans avoir à passer par le code (php). J'ai une table session qui contient entre autre un champs dateDebut et un autre duree. L'intervalle que je veux tester est lui aussi composé d'une dateDebut et d'une duree. Mysql met il à disposition une fonction ou autre permettant de faire ce test? Merci d'avance |
|
|
00
|
|
|
#2 | |||
![]() ![]() |
En SQL standard, il existe OVERLAPS qui indique si deux intervalles de temps sont en intersection mais chez le fantaisiste MySQL, OVERLAPS est pour tout autre chose !
Il faut donc coder ça en SQL à la main à l'aide des fonctions de date de MySQL. Citation:
Pour que la session et la période testée soient en intersection, il faut : - tdeb compris entre sdeb et sdeb + sdur - OU sdeb compris entre tdeb et tdeb + tdur Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||
|
00
|
Copyright © 2000-2012 - www.developpez.com