Je lis ce problème comme la recherche du chevauchement des plages :
vous avez donc des données dans la plage :T1 à T3. Et recherche de chevauchement avec la plage T2 à T4. Puisqu'ils se chevauchent, vous voulez. Cependant, si les données sont T1 à T3 et que la plage est T4 à T5 .. pas de chevauchement, donc ne voulez pas.
Vous pouvez le faire avec cette requête :
Select id
from eventos_sapo
where startDate <= '2015-02-14'
AND endDate >= '2013-01-03';
Donc, s'il a commencé après la date indiquée (14 février 2015), ne l'incluez pas. Ou s'il s'est terminé avant le 3 janvier 2013... ne l'incluez pas. Incluez tout le reste, car il se chevauche :
Comme 1 exemple :les données se terminent après la date de début de la plage donnée, et la date de début des données est antérieure à la fin, c'est donc l'un des cas suivants :
Data: |---|
Given range: |---|
Data: |-------|
Given range: |---|
Data: |---|
Given range: |---|
Data: |---|
Given range: |-------|