Czytałem ten problem, szukając nakładania się zakresów:
więc masz dane w zakresie:T1 do T3. I szukam pokrywania się z zakresem T2 do T4. Ponieważ nakładają się na siebie, chcesz. Jednak, jeśli dane to T1 do T3, a zakres to T4 do T5 .. nie nakładają się, więc nie chcę.
Możesz to zrobić za pomocą tego zapytania:
Select id
from eventos_sapo
where startDate <= '2015-02-14'
AND endDate >= '2013-01-03';
Więc jeśli zaczęło się po podanej dacie (14 lutego 2015), nie dołączaj tego.lub jeśli zakończyło się przed 3 stycznia 2013 r.... nie uwzględniaj tego. Uwzględnij wszystko inne, ponieważ się pokrywa:
Na przykład:dane kończą się po dacie rozpoczęcia podanego zakresu, a data rozpoczęcia danych jest przed końcem, więc jest to jeden z następujących przypadków:
Data: |---|
Given range: |---|
Data: |-------|
Given range: |---|
Data: |---|
Given range: |---|
Data: |---|
Given range: |-------|